树形依赖背包dp的最优解问题
生活随笔
收集整理的這篇文章主要介紹了
树形依赖背包dp的最优解问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
fij表示在dfs序序列上做了前i個點,已經選擇了j個人的最大權值和。
那么如果這個點選fij?>fi+1,j+1
如果不選fij?>fi+sizei,j(表示跳過子樹轉移)
code:
for(i=1;i<=N;i++)for(j=0;j<=K;j++){f[i+1][j+1]=max(f[i+1][j+1],f[i][j]+w[i]);f[i+size[i]][j]=max(f[i][j],f[i+size[i]][j]);}轉載于:https://www.cnblogs.com/bullshit/p/9643048.html
總結
以上是生活随笔為你收集整理的树形依赖背包dp的最优解问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓手机越卖越贵 旗舰更是涨价到离谱!苹
- 下一篇: [译]写程序更快、更好、更便宜的艺术