树形DP
文章平均质量分 81
lrccccc
靡不有初 鲜克有终
展开
-
树形DP
HDU 1520 Anniversary partyd[i][0]=以i为根的子树,不选择i时的最大值 d[i][1]=以i为根的子树,选择i时的最大值d[i][0]=∑v为i的儿子max(d[v][0],d[v][1])d[i][0]=\sum_{v为i的儿子}max(d[v][0],d[v][1]) d[i][1]=∑v为i的儿子d[v][0]d[i][1]=\sum_{v为i的儿子}d[v原创 2017-05-07 21:17:42 · 345 阅读 · 0 评论 -
Codeforces 815C. Karen and Supermarket 【树形DP】
C. Karen and Supermarkettime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputOn the way home, Karen decided to原创 2017-07-14 15:06:43 · 544 阅读 · 0 评论 -
【2017多校】HDU6035 Colorful Tree 【听说是树形DP】
官方题解:单独考虑每一种颜色,答案就是对于每种颜色至少经过一次这种的路径条数之和。反过来思考只需要求有多少条路径没有经过这种颜色即可。直接做可以采用虚树的思想(不用真正建出来),对每种颜色的点按照 dfs 序列排个序,就能求出这些点把原来的树划分成的块的大小。这个过程实际上可以直接一次 dfs 求出。令sum[i]=已经dfs遍历过的点中,以i颜色的点为根的子树的节点个数之和(不重复计数)令sum[原创 2017-07-26 20:30:00 · 765 阅读 · 0 评论 -
Codeforces790B. Bear and Tree Jumps 【树型DP】
传送门ans=∑ceiling(disi,jk)ans=\sum{ceiling(\frac{dis_{i,j}}{k})} 令f(x,k)=k−x%k令f(x,k)=k-x\%k 则ans=∑disi,j+f(disi,j,k)k=1k(∑disi,j+∑f(disi,j,k))则ans=\sum{ \frac{ dis_{i,j}+f(dis_{i,j},k) }{k} } = \frac1原创 2017-10-31 15:51:55 · 475 阅读 · 0 评论