2019寒假集训

DAY1

二叉苹果树

树形DP题,有一定思考难度(对于我),设f[i][j]表示保留i点时已留下j根枝条的最大苹果数目。

f[now][tot]=max(f[now][tot],f[tree[now][1]][i]+f[tree[now][2]][tot-i-1]+ans[now]);

炮兵阵地

好吧打了一个下午其实是一道sb题,但初始化错了,却得了60分,然后一直在改dp和状压,DAY2早上一眼看出来了,我无语了。。。

你甚至可以不用滚动数组,设f[i][j][k]表示i行时状态为j上一行状态为k时的最大数

f[i%3][s[k]][s[j]]=max(f[i%3][s[k]][s[j]],f[(i-1)%3][s[j]][s[g]]+cnt[s[k]]);

 

猜你喜欢

转载自www.cnblogs.com/GREED-VI/p/10325740.html
今日推荐