摘要: 这是蒟蒻的第一道树形背包,由于不知道套路,几乎全抄的题解(惭愧)。 有点类似于CDQ分治的思想,先处理下级,然后利用下级的数据推本级。 其实我还没有理解透彻,不过贡献一下代码也是有价值的。 #include<bits/stdc++.h> using namespace std; #define in 阅读全文
posted @ 2020-03-10 22:17 syzf2222 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 这是一个树形dp入门题。 f[x][i]=max{f[lc[x]][i-1]+lw[x],f[rc[x]][i-1]+rw[x],lw[x]+rw[x]+f[lc[x]][j]+f[rc[x]][i-2-j]} 注意边界情况。 if(i==0)f[x][i]=0; if(!lc[x])f[x][i] 阅读全文
posted @ 2020-03-10 22:11 syzf2222 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 毒瘤的状压DP题。 思路非常的好想,就是枚举每一种情况,考虑他对这一行和上一行的影响,从而设状态。 我们可以通过一定的数学公式来看看到底有多少种情况。 每个点可以填竖边或者填横边或不填。 f[0]=1,f[1]=2; f[i]=2*f[i-1]+f[i-2] 算出来f[11]有一万多,要超时了,怎么 阅读全文
posted @ 2020-03-10 14:25 syzf2222 阅读(127) 评论(0) 推荐(0) 编辑