
DP(动态规划)
Chen_yuazzy
The best way to predict the future is to create it.
预测未来的最好办法是去创造它。
---Alan Kay
展开
-
【HDU 2602】Bone Collector(DP-01背包)
01背包问题: 1. 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 状态转移方程为: dp[i][v]=max(dp[i−1][v],dp[i−1][v−c[i]]+w[i]) dp[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。 考虑前i件物品放入背包时,只需考虑放入第i件物品的状态。原创 2017-08-07 23:11:54 · 445 阅读 · 0 评论 -
【HDU 1114】Piggy-Bank(DP-完全背包)
完全背包问题: 非常类似于01背包问题。有N种物品和一个容量为V的背包,每种物品数量无限。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的价值总和最大。其代码和01背包(01背包例题及讨论)只有一处不同: for i=1..N for v=0..V dp[v]=max{dp[v],dp[v-cost]+weight} 对比发现,只有第二层for循环的顺原创 2017-08-09 18:07:15 · 467 阅读 · 0 评论 -
【DP入门】动态规划初步-几类子序列问题
动态规划初步—子序列问题,本文包括:最大连续子序列和,最大(长)上升子序列,最大(长)公共子序列1.最大连续子序列和找出一维数组中和最大的连续子序列,状态转移方程如下: sum=max(a[i]+sum,a[i]);sum = max(a[i]+sum , a[i] );例题:HDU 1003-Max Sum(最大连续子序列和)注:此题由于要输出和最大序列的起始位置和终止位置,形式与上列公式有所出原创 2017-08-06 23:03:31 · 1109 阅读 · 0 评论