- 分组背包搞树形dp
- 多叉转二叉
- 原理
- 存储
- 进行
- 输出方案
分组背包搞树形dp
多叉转二叉
原理
左儿子,右兄弟
存储
for(int i=1;i<=n;++i){xx=read();yy=read();vv=read();//xx为yy的son。 b[xx]=s[yy];s[yy]=xx;value[i]=vv;}
进行
不选 f[i][j]=f[rr][j]
选 f[i][j]=f[ll][k]+f[rr][j-k-1]+val[i];
输出方案
通过二叉树模拟判断,求出方案数