树形dp
Sakai_Masato
这个作者很懒,什么都没留下…
展开
-
[BZOJ2286][SDOI2011]消耗战
设dp[i]dp[i]表示ii所在的子树里面所有的询问点与ii不连通的最小代价,那么dp[i]=∑min(dp[j],w[i][j]),j∈son[i]dp[i]=\sum min(dp[j],w[i][j]),j\in son[i],直接dp会TLE,发现询问的点数很少,那么建立虚树就可以了,一般虚树的题都很明显的。。 虚树就是关键点以及它们两两LCA所形成的树。 我写的常数好大QAQ。#in原创 2016-03-03 14:36:57 · 592 阅读 · 0 评论 -
树形dp易错点
今天搞了差不多一天的树形dp,题也没太做多少,发现自己这一块还有很不足的地方,知识一点也掌握得不牢固。 写树形dp的时候要注意状态的表示和循环变量的枚举顺序,否则会出大问题! 具体地来说,树形dp一般的像背包那样缩掉了一维,所以应该逆序枚举,如果顺序实在是搞不清楚的话建议开一个临时数组先记着,再赋回去。 这里面一定要注意每一层循环的范围和方向!!原创 2016-01-31 20:48:10 · 353 阅读 · 0 评论 -
[HNOI2016]树
题意:给出一颗树和每一条边出现的概率和kk,和所有点的权值a[i]a[i],定义一个联通块的特征值为(∑a[i])k(\sum a[i])^k,树的特征值为所有联通块特征值的和,求期望。 n,k≤2000n,k\leq2000 设f[i][j]f[i][j]表示以ii为根的子树,指数为jj时的树的特征值,有: 初始化f[i][0]=1,f[i][j]=f[i][j−1]×a[i]f[i][0]原创 2016-03-29 19:20:33 · 1072 阅读 · 1 评论