随笔分类 - dp
摘要:序言 记不住 正文 01背包 经典问题。 dp[i][j]=max{dp[i-1][j-v[i]]+c[i],dp[i-1][j]}; 最长公共子串 dp[0][j] = 0; (0<=j<=m) dp[i][0] = 0; (0<=i<=n) dp[i][j] = dp[i-1][j-1] +1;
阅读全文
摘要:定义 区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来有很大的关系。 令状态 f(i,j) 表示将下标位置 i 到 j 的所有元素合并能获得的价值的最大值,那么f(i,j)=max{f(i,k)+f(k+1,j)+cost},cost
阅读全文
摘要:解释 完全背包模型与 0-1 背包类似,与 0-1 背包的区别仅在于一个物品可以选取无限次,而非仅能选取一次。 我们可以借鉴 0-1 背包的思路,进行状态定义:设 为只能选前 i 个物品时,容量为 j 的背包可以达到的最大价值。 需要注意的是,虽然定义与 0-1 背包类似,但是其状
阅读全文
摘要:01背包问题是动态规划中的一个经典问题,通常用于解决资源分配问题。问题描述如下: 假设有一个背包,其最大承重为 n ) 个物品,每个物品有一个重量 v_i )。目标是选择一些物品放入背包,使得在不超过背包承重的前提下,背包中物品的总价值最大。
阅读全文
摘要:动态规划的优缺点是什么? 动态规划的优点是: 可以解决一些复杂的问题,例如背包问题、最长公共子序列问题等; 可以通过记忆化搜索来避免重复计算,提高效率; 可以通过状态转移方程来简化问题,使问题更易于理解和解决; 可以处理连续的问题,例如最大子段和问题。 动态规划的缺点是: 对于某些问题,动态规划的时
阅读全文