线性DP
Df_cjc
这个作者很懒,什么都没留下…
展开
-
POJ3666 线性dp_离散化_贪心
POJ3666 线性dp_离散化_贪心就DP而言这个题不算难,但是难就难在贪心,还有离散化的思想上题目大意:n个土堆,问你最少移动多少单位的图,可以使得这n个土堆变成单调的dp[i][j]表示前i个土堆高变为j时最优值dp[i][j] = abs(j - a[i]) + min(dp[i-1][k])到这里就有问题了,k遍历起来有多大,是吧,没法想‘?所以搜了题解才知道:贪...原创 2018-07-25 09:09:51 · 322 阅读 · 0 评论 -
m个物品放n个盒子,盒子物品都相同,问你放的方法总数是多少
m个物品放n个盒子,盒子物品都相同,问你放的方法总数是多少看着像个排列组合,算着算着就发现我排列组合都忘得差不多啦,哎,什么时候能打败遗忘呢然后想用dp做,但是转移的方面没有想好看了看题解感觉这个思路太符合逻辑了递归和非递归的都差不多,非递归的初值要赋好,递归的呢只要赋值好所有可能的结束条件就好了对于i个放j个中如果j比i大是不是就会有j-i个盘子是空的,那么和把 i 放 i个...原创 2018-07-26 10:24:27 · 1645 阅读 · 0 评论 -
最大m段子段和
hdu1024 最大m子序列和给定你一个序列,让你求取m个子段(不想交的子段)并求取这m个子段和的最大值从二维开始来看dp[i][j]表示取第j个数作为第i个子段的元素所得到的前i个子段和的最大值,那么第j个元素必取1.第j个元素是第i个子段的开头——dp[i][j] = max(dp[i-1][k]) + a[j] k = [1,j-1] ——最大值肯定是前i-1个子段的最大值加上当...原创 2018-07-27 19:56:31 · 615 阅读 · 0 评论