摘要:
这题需要把状转方程想清楚,在动手打代码。 可能大多数人像我一样第一反应是这样的: f[x][0]=0,f[x][1]=1; for(int i=beg[x];i;i=nex[i]) if(to[i]!=fa){ dfs(to[i],x); f[x][0]+=f[to[i]][1]; f[x][1]+ 阅读全文
摘要:
我觉得我好像已经理解树形背包了。 套路化的树形背包。 递推公式长这样:f[i][j]=max(f[i][j],f[i][j-k]+f[t][k]); 注意f[i][0]应该在最后附为0,不然就相当于是取前m大了。 看代码: #include<bits/stdc++.h> using namespac 阅读全文