E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
dp+滚动数组
蓝桥杯C++基础算法-完全背包(优化为一维)
这段代码实现了一个完全背包问题的动态规划解法,并且使用了
滚动数组
来优化空间复杂度。以下是代码的详细思路解析:1.问题背景给定n个物品,每个物品有其体积v[i]和价值w[i],以及一个容量为m的背包。
sin2580
·
2025-03-25 06:26
C++
蓝桥杯
c++
算法
数字转换(
dp+
数论)
题意:如果一个数x的约数之和y(不包括他本身)比他本身小,那么x可以变成y,y也可以变成x。例如,4可以变为3,1可以变为7。限定所有数字变换在不超过n的正整数范围内进行,求不断进行数字变换且不出现重复数字的最多变换步数。思路:可以将每个数与能到达的数之间连一条边,这样就会形成一个森林,而题目要求的就是在森林中找一棵树的最大直径。问题转换为求树的最大直径:第一步:用筛法的变形求每个数的约数之和第二
小崔的技术博客
·
2025-03-21 15:11
算法
YbtOJ 强连通分量课堂过关 例1 有向图缩点【Tarjan】【DP】【拓扑排序】
然后就做一个
DP+
拓扑排序,边拓扑边DP,f[y]=max(f[y],f[x]+cnt[y])f[y]=\max(f[y],f[x]+cnt[y])f[y]=max(f[y],f[x]+cnt[y])
JA_yichao
·
2025-03-03 08:39
题解
YbtOJ专项练习题
#
强连通分量
刷题计划day29 动规01背包(一)【01背包】【分割等和子集】【最后一块石头的重量 II】
day29动规01背包(一)开始,可以点个免费的赞哦~往期可看专栏,关注不迷路,您的支持是我的最大动力~目录背包问题前言01背包二维数组dp[i][j]关于是否放物品:关于二维dp遍历顺序:一维数组dp(
滚动数组
哈哈哈的懒羊羊
·
2025-02-20 06:10
算法
java
数据结构
leetcode
动态规划
背包问题
蓝桥杯
【算法】动态规划专题⑨ —— 二维费用背包问题 python
目录前置知识进入正题实战演练前置知识【算法】动态规划专题⑤——0-1背包问题+
滚动数组
优化python进入正题二维费用背包问题方法思路二维费用背包问题在传统背包问题的基础上增加了第二个维度的限制(如重量
查理零世
·
2025-02-11 21:03
动态规划专题
算法
动态规划
python
【算法】动态规划专题⑧ —— 分组背包问题 python
目录前置知识进入正题实战演练总结前置知识【算法】动态规划专题⑤——0-1背包问题+
滚动数组
优化python进入正题分组背包问题的详细解析1.问题定义在分组背包问题中,物品被划分为若干组,每组内的物品互斥
查理零世
·
2025-02-10 04:29
动态规划专题
算法
动态规划
python
【算法】动态规划专题⑩ —— 混合背包问题 python
目录前置知识进入正题总结前置知识【算法】动态规划专题⑤——0-1背包问题+
滚动数组
优化【算法】动态规划专题⑥——完全背包问题python【算法】动态规划专题⑦——多重背包问题+二进制分解优化python
查理零世
·
2025-02-10 04:59
动态规划专题
算法
动态规划
python
K-periodic Garland(
DP+
前缀和)
题目链接https://codeforces.com/contest/1353/problem/E思路令dp[i][0/1]dp[i][0/1]dp[i][0/1]分别表示第iii个字符是000或者111时的前iii个字符组成的花环所需的最少操作次数。如果第iii个字符变为111,分为两种情况:第一种情况是第i−ki-ki−k个字符必须为111,且[i−k+1,i−1][i-k+1,i-1][i−
Auto114514
·
2025-02-01 20:43
ACM—DP
动态规划
算法
代码随想录算法训练营第三十七天-动态规划-完全背包-理论基础
完全背包与01背包根本区别就是物品的数量完全背包,物品的数量是无限的,可以任意取多个01背包物品的数量则只有一个遍历顺序01背包的一维
滚动数组
必须要从后向前遍历,这是防止一个物品被多次加入背包中而完全背包就是要多次加入物品
taoyong001
·
2025-01-26 18:49
算法
动态规划
c++
leetcode
304-Leetcode 最大子数组和
方法一:动态规划(
滚动数组
)我们用f(i)代表以第i个数结尾的「连续子数组的最大和」,那么很显然我们要求的答案就是:因此我们只需要求出每个位置的f(i),然后返回f数组中的最大值即可。
sp_13230409636
·
2024-09-07 04:20
Leetcode
Leetcode
CF 966 Div3 F. Color Rows and Columns
赛时思路:背包
dp+
随机化,按照背包dp的思路来想,就是选择了某个长方形,如果填满这个长方形分数也不能到达k,那么就直接填满,如果大于等于k那么就用最小代价来填满
Jiu-yuan
·
2024-08-22 22:38
算法
【No.15】蓝桥杯动态规划上|最少硬币问题|0/1背包问题|小明的背包1|空间优化
滚动数组
(C++)
DP初步:状态转移与递推最少硬币问题有多个不同面值的硬币(任意面值)数量不限输入金额S,输出最少硬币组合。回顾用贪心求解硬币问题硬币面值1、2、5。支付13元,要求硬币数量最少贪心:(1)5元硬币,2个(2)2元硬币,1个(3)1元硬币,1个硬币面值1、2、4、5、6.,支付9元。贪心:(1)6元硬币,1个(2)2元硬币,1个(3)1元硬币,1个错误!答案是:5元硬币+4元硬币=2个硬币问题的正解
ChoSeitaku
·
2024-03-26 12:59
蓝桥杯备考
蓝桥杯
动态规划
c++
代码随想录算法训练营 day42 || 01背包问题,416. 分割等和子集
|动态规划经典问题|数据结构与算法_哔哩哔哩_bilibili带你学透01背包问题(
滚动数组
篇)|从此对背包问题不再迷茫!_哔哩哔哩_bilibili动态规划之背包问题,这个包能装满吗?
weixin_44316285
·
2024-02-15 03:20
算法
有依赖的背包问题——树形
DP+
分组背包
有N个物品和一个容量是V的背包。物品之间具有依赖关系,且依赖关系组成一棵树的形状。如果选择一个物品,则必须选择它的父节点。如下图所示:如果选择物品5,则必须选择物品1和2。这是因为2是5的父节点,1是2的父节点。每件物品的编号是i,体积是vi,价值是wi,依赖的父节点编号是pi。物品的下标范围是1…N。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入第一行有两
OLDERHARD
·
2024-02-14 00:26
算法
动态规划 | 01背包问题理论 | 代码随想录
文章目录01背包问题画图说明代码
滚动数组
——一维dp数组多重背包跟随carl代码随想录刷题语言:python01背包问题动态规划从小问题着手,逐步解决大问题。
Begonia_cat
·
2024-02-13 03:20
算法与数据结构
动态规划
算法
【上分日记】第380场周赛(数位
dp+
KMP + 位运算 + 二分 + 双指针 )
文章目录前言正文1.3005.最大频率元素计数2.3007.价值和小于等于K的最大数字3.3008.找出数组中的美丽下标II总结尾序前言 本场周赛,博主也只写出两道题(前两道,hhh菜鸡勿喷),第三道涉及位运算,数位dp,第四道涉及KMP。下面我们来总结一下这四道题。正文1.3005.最大频率元素计数 这道题不难,不过有一个比较妙的写法,因此还是来分析总结一下。题目链接:最大频率元素计数题目思路:
舜华丶
·
2024-02-13 00:32
上分日记
KMP
数位dp
位运算
二分
双指针
第380周赛
分类讨论
代码随想录算法训练营第四十八天(动态规划篇之01背包)| 1049. 最后一块石头的重量Ⅱ,494. 目标和
根据之前的01背包理论:代码随想录算法训练营第四十五天(动态规划篇)|01背包-CSDN博客代码随想录算法训练营第四十六天(动态规划篇)|01背包(
滚动数组
方法)-CSDN博客可以设背包容量为石头重量总和的一半
Huiwen_Z
·
2024-02-12 07:54
代码随想录训练营
算法
动态规划
python
leetcode
Peter算法小课堂—背包问题
答案是,
滚动数组
,一个神秘而简单的东西。01背包题目:小偷来你家,他带的包只能装c斤的财务。你家有n种财务,分别重w1、w2......wn斤,价值分别为v1、v2......
Peter Pan was right
·
2024-02-12 00:31
算法
代码随想录算法训练营第39天 | 62.不同路径 63.不同路径 II
动态规划实现如下,其实还可以用
滚动数组
的方式进一步做空间优化,当前的状态只与左侧和上面的状态有关,可以只用一个一维数组表示,其自身就是上次遍历(上
纵使啰嗦始终关注
·
2024-02-10 17:26
算法
代码随想录算法训练营第四十六天(动态规划篇)|01背包(
滚动数组
方法)
01背包(
滚动数组
方法)学习资料:代码随想录(programmercarl.com)题目链接(和上次一样):题目页面(kamacoder.com)思路使用一维
滚动数组
代替二维数组。
Huiwen_Z
·
2024-02-09 18:10
代码随想录训练营
算法
动态规划
python
C++算法之递归与递推(2)
二、递推(与递归相反,先求出子问题再去算出原问题)1.AcWing717.简单斐波那契分析过程先定义f(1)和f(2)作为边界,然后f(n)=f(n-1)+f(n-2),此题可以直接用
滚动数组
的雏形来算
算法下的星辰曲
·
2024-02-09 09:30
蓝桥杯
算法
c++
数据结构
牛客周赛 Round 31 E.小红的子集取反【
dp+
设置偏移量】
原题链接:https://ac.nowcoder.com/acm/contest/74362/E时间限制:C/C++1秒,其他语言2秒空间限制:C/C++262144K,其他语言524288K64bitIOFormat:%lld题目描述小红拿到了一个数组,她准备选择若干元素乘以-1,使得最终所有元素的和为0。小红想知道最少需要选择多少个元素?输入描述:第一行输入一个正整数n,代表数组的大小。第二行
lianxuhanshu_
·
2024-02-07 23:02
动态规划
算法
动态规划
深度强化学习基础【1】-动态规划问题初探(leetcode算法的63题-不同路径II)
这深度强化学习基础【1】-动态规划问题初探(leetcode算法的63题-不同路径II)1.问题描述2.问题分析3.Python编程实现3.1For循环遍历3.2
滚动数组
实现3.3试验测试结果1.问题描述
cnjs1994
·
2024-02-06 17:20
算法
动态规划
leetcode
2.2日总结
首先我们需要把每个有联系的链接起来,形成一个大背包,用来装他们的总金额和总价值,然后我们在看一个个的物品进行取或者不取两种操作,但是这题需要进行状态压缩,不能用二维的dp数组,否则会MLE,要用一维的
滚动数组
来解决问题
已经成为了代码的形状
·
2024-02-05 15:38
算法
图论
c++
蓝桥杯--2015第六届C/C++B组省赛
相比较14年的难度下降,不过搜索以及DP的题目更多,多了一个树形DP(待补),
DP+
矩阵快速幂(待补)奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
小胡同的诗
·
2024-02-03 13:06
DP
DFS
数论
LanQiaoOJ
蓝桥杯历届省赛题目
力扣hot100 最小路径和 多维DP
滚动数组
一题多解
Problem:64.最小路径和文章目录思路朴素版空间优化版思路路飞朴素版⏰时间复杂度:O(nm)O(nm)O(nm)空间复杂度:O(nm)O(nm)O(nm)classSolution{publicintminPathSum(int[][]grid){intn=grid.length;if(n==0)return0;intm=grid[0].length;int[][]f=newint[n][
兑生
·
2024-02-01 15:20
力扣
hot100
leetcode
算法
职场和发展
【算法与数据结构】121、122、123、188、309、714、LeetCode买卖股票的最佳时机I II III IV+含冷冻期+含手续费
文章目录一、121、LeetCode买卖股票的最佳时机1.1动态规划1.2动态规划-
滚动数组
二、122、买卖股票的最佳时机II三、123、买卖股票的最佳时机III四、188、买卖股票的最佳时机IV五、309
晚安66
·
2024-02-01 14:33
算法
算法
代码随想录算法训练营第四十二天| 01背包问题 二维 、01背包问题 一维 、 416. 分割等和子集
|动态规划经典问题|数据结构与算法_哔哩哔哩_bilibili01背包问题一维代码随想录视频讲解:带你学透01背包问题(
滚动数组
篇)|从此对背包问题不再迷茫!
夕风621
·
2024-02-01 00:59
算法
代码随想录算法训练营第四十二天|01背包问题、01背包问题——
滚动数组
、416. 分割等和子集
01背包问题文档讲解:代码随想录-01背包问题状态:再次回顾。01背包有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。动态规划五部曲:确定dp数组(dptable)以及下标的含义dp[i]的定义为:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。确定递
FuCosmo
·
2024-02-01 00:57
算法
代码随想录
算法
滚动数组
、416. 分割等和子集
学习目标学习背包问题学习内容动态规划:01背包理论基础动态规划:01背包理论基础纯01背包问题的经典格式是:有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。举一个例子:背包最大重量为4。物品为:重量价值物品0115物品1320物品2430问背包能背的物品最大价值是多少?确定dp
寒翛然
·
2024-02-01 00:26
算法
动态规划
代码随想录算法训练营第四十一天 | 01背包问题-二维数组&
滚动数组
,416. 分割等和子集
一、参考资料01背包问题二维https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-1.html视频讲解:https://www.bilibili.com/video/BV1cg411g7Y601背包问题一维https://programmercarl
乐此不疲的小忙
·
2024-02-01 00:54
代码随想录训练营
算法
leetcode
代码随想录算法训练营第四十二天|01背包问题、01背包问题(
滚动数组
)、416. 分割等和子集
题目:01背包问题文章链接:代码随想录视频链接:LeetCode:背包问题题目链接:卡码题目链接图释://二维dp数组实现#includeusingnamespacestd;intn,bagweight;//bagweight代表行李箱空间voidsolve(){vectorweight(n,0);//存储每件物品所占空间vectorvalue(n,0);//存储每件物品价值for(inti=0;
一楼二栋
·
2024-02-01 00:51
算法
leetcode
c++
代码随想录算法训练营Day42 | 01背包理论基础 | 01背包 (
滚动数组
) | 416. 分割等和子集
文章目录01背包理论基础题目描述暴力解法动态规划01背包(
滚动数组
)01背包总结416.分割等和子集二维dp一维dp(滚动)题解01背包理论基础理论基础题目描述有n件物品和一个最多能背重量为w的背包,已知第
Kolbe_Huang
·
2024-02-01 00:21
代码随想录算法训练营一刷
算法
代码随想录算法训练营第四十二天 | 01背包问题,416. 分割等和子集
01背包问题经典题目了,印象比较深,需要注意的就是dp数组的初始化;利用
滚动数组
可以将二维dp数组一维化,其中要注意:1.遍历顺序要求,必须先遍历物品,再遍历背包容量;2.遍历背包容量时要求,必须倒序,
Jamie super Cool
·
2024-02-01 00:21
算法
c++
leetcode
代码随想录算法训练营第42天|01背包问题(二维数组)、01背包问题(
滚动数组
)、416. 分割等和子集
文章目录01背包问题二维思路代码01背包问题(
滚动数组
)思路代码416.分割等和子集思路代码704.二分查找思路代码今日收获01背包问题二维文章讲解:代码随想录|01背包问题二维视频讲解:01背包问题二维思路
五鲜炒饭
·
2024-02-01 00:20
算法
[GN] DP学习笔记板子
文章目录Bitset
滚动数组
多重背包区间DP树形dp状压dp模拟退火Bitset使用bitset需要引用头文件。
GGood_Name
·
2024-01-31 06:43
学习
笔记
算法
滚动数组
● 416. 分割等和子集 )
滚动数组
●416.分割等和子集学习内容:●01背包问题,你该了解这些!
G_qingxin
·
2024-01-30 12:32
算法笔记
动态规划
算法
【剑指Offer】16-20题(快速幂实现pow()+递归全排列生成1-9999(n个9)+删除链表的节点+字符串
DP+
暴力解决表示数值的字符串)
文章目录数值的整数次方非递归递归打印从1到最大的n位数删除链表的节点拓展:删除排序链表中的重复元素正则表达式匹配表示数值的字符串数值的整数次方剑指Offer16.数值的整数次方-力扣(LeetCode)模拟pow的实现比如求3^1000;1000D==001111101000B一个一个乘效率太低了,时间按复杂度是O(N),而且还会超时,你问我怎么知道的利用快速幂,时间复杂度是O(logn)。以31
喜欢乙醇的四氯化碳
·
2024-01-28 16:38
剑指offer
链表
深度优先
数据结构
动态规划
算法
蓝桥杯备赛 week 1 —— DP 背包问题
目录前言:01背包问题分析:dp数组求解:优化:
滚动数组
:完全背包问题总结前言:这篇文章主要是准备蓝桥杯竞赛同学所写,为你更好准备蓝桥杯比赛涉及的算法知识点。
代码菌@
·
2024-01-26 21:12
蓝桥杯备赛指南
蓝桥杯
c++
c语言
学习
笔记
c
数位
DP+
反向思维,HDU4734 F(x)
目录一、题目1、题目描述2、输入格式3、输出格式4、原题链接二、解题报告1、思路分析朴素数位dp:反向思维数位dp:2、复杂度3、代码详解一、题目1、题目描述Foradecimalnumberxwithndigits(AnAn-1An-2...A2A1),wedefineitsweightasF(x)=An*2n-1+An-1*2n-2+...+A2*2+A1*1.Nowyouaregiventw
EQUINOX1
·
2024-01-25 19:20
OJ刷题解题报告
算法
c++
数据结构
深度优先
区间
dp+
三维状态,POJ1390 Blocks
目录一、题目1、题目描述2、输入格式3、输出格式4、原题链接二、解题报告1、思路分析朴素区间dp思维二维升三维2、复杂度3、代码详解一、题目1、题目描述Someofyoumayhaveplayedagamecalled'Blocks'.Therearenblocksinarow,eachboxhasacolor.Hereisanexample:Gold,Silver,Silver,Silver,S
EQUINOX1
·
2024-01-25 19:20
OJ刷题解题报告
算法
动态规划
c++
数据结构
深度优先
力扣740. 删除并获得点数
可以将数组转换成一个有序map,key为x,value为对应所有x的和;则问题转换成了不能同时获得相邻两个房间的金币并能获得最大收益问题:力扣198.打家劫舍;动态规划状态转移方程dp[i]跟之前两个状态相关,可以使用
滚动数组
的方式
slowfastflow
·
2024-01-24 15:32
力扣实践
leetcode
算法
职场和发展
Educational Codeforces Round 89 (Rated for Div. 2) F.Jog Around The Graph(
dp+
凸包求最优直线)
题目n(n=n)次的最优结果,应该是(i-k)*w+(用了k次机会到达u或v)的最大值考虑到在枚举k的时候,k是对于i来说无关的量,将k提出来当常数,这样i次机会,对于边w的最大值,是形如y=i*w+b,i为斜率b为截距的一次函数,一条直线对于m条直线,我们要求其在横坐标[n,q]范围时,暴露在最上面的直线都是哪些,分别对应哪一段这个需要用凸包O(mlogm+m)求一下,思路来源则采取解不等式方法
Code92007
·
2024-01-22 19:30
#
计算几何
dp
凸包
洛谷 P1541 [NOIP2010 提高组] 乌龟棋【线性
dp+
挖掘性质优化】
原题链接:https://www.luogu.com.cn/problem/P1541题目背景NOIP2010提高组T2题目描述小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡
lianxuhanshu_
·
2024-01-21 01:34
动态规划
算法
动态规划
力扣hot100 分割等和子集 变形01背包
滚动数组
优化
Problem:416.分割等和子集文章目录思路01背包复杂度Code
滚动数组
优化复杂度Code思路参考地址01背包复杂度时间复杂度:O(nm)O(nm)O(nm):mmm为数组元素和的一半空间复杂度
兑生
·
2024-01-20 16:42
力扣
hot100
leetcode
算法
职场和发展
二维数组与
滚动数组
解决背包问题
关于背包问题及其变式是我们在面试中经常遇见的问题,同时背包问题也是常见的动态规划问题。解决这类问题通常是走一步看一步,即利用数组来记录上一步的结论,再与当前进行比较。例如01背包问题那么首先需要确定dp数组的含义,我们可以假设一个场景,模拟从0-n个物品中挑选0-m重量的物品这个模拟有两个变量那么最适合使用二维数组来模拟,二维数组的右下角就是最终的答案。理解这一点很重要。接下来就是递推公式,当前项
乡村中医
·
2024-01-20 09:03
js算法日志
javascript
算法
剪枝
198. 打家劫舍
198.打家劫舍原题链接:完成情况:参考代码:_198打家劫舍_198打家劫舍_滚动优化_198打家劫舍_
滚动数组
错误经验吸取原题链接:198.打家劫舍https://leetcode.cn/problems
Wzideng
·
2024-01-20 03:11
java学习
算法知识
#
LeetCode题解
算法
leetcode
数据结构
回归
排序算法
_198打家劫舍
_198打家劫舍原题链接:完成情况:解题思路:_198打家劫舍_198打家劫舍_
滚动数组
_198打家劫舍_滚动优化参考代码:错误经验吸取原题链接:_198打家劫舍https://leetcode.cn/
Wzideng
·
2024-01-20 03:35
java学习
算法知识
#
LeetCode题解
人工智能
算法
leetcode
牛客周赛 Round 11 解题报告 | 珂学家 | 线性
dp+
大剪枝
前言整体评价T3和round9的T3重复了,好意外。T4有点意思,比赛中一度不敢下手,然后试试骗分,发现过了。后来才知道,原来元素两两不等,那基本就退化为O(n2)O(n^2)O(n2)了。A.小美的外卖订单编号index1/index0的问题先减1,再加1importjava.io.BufferedInputStream;importjava.util.Scanner;publicclassMa
珂朵莉MM
·
2024-01-18 16:48
牛客周赛
解题报告
深度优先
算法
力扣
java
leetcode
python
力扣hot100 零钱兑换 背包
滚动数组
Problem:322.零钱兑换文章目录思路Code思路大佬题解Code⏰时间复杂度:O(n)O(n)O(n)classSolution{publicintcoinChange(int[]coins,intamount){intINF=0x3f3f3f3f;intn=amount;int[]f=newint[n+1];Arrays.fill(f,INF);f[0]=0;for(inti=0;i<
兑生
·
2024-01-17 19:57
力扣
hot100
leetcode
算法
职场和发展
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他