树dp
meopass
即使摸爬滚打,满身泥泞,我也要前进
展开
-
codeforces 461B 树DP
题意:给出一棵树,每个节点的颜色为黑色或者白色,现在可以切割任意条边,使得答案这个树被分成若干块,每块至多一个黑色点。问方案数有多少。对于树dp,一般用dp[u]dp[u]表示当前u节点的子树的方案数,然后根据其与子节点的关系进行转移。 对于这题我们还需要记录,当前子树中是否已经有黑色点了,如果有,就可以切割,没有,就不能切割。这样状态的构造和转移都已经出来了。 dp[u][0/1]dp[u][原创 2017-09-25 11:27:50 · 239 阅读 · 0 评论 -
codeforces 855C 树DP
简略题意:给出一颗树,有m种颜色,第k种颜色是特殊颜色,树上最多有x个特殊颜色点。 你需要把整个树染色,且保证特殊颜色节点以下条件: 1. 与其相连的不能有特殊颜色节点。 2. 与其相连的节点的颜色序号必须小于k。 问有多少种满足要求的树。这题的突破点在于x很小。 其实节点的颜色种类只有3种: 0. 能够和特殊颜色相连的点(小于k)。 1. 特殊颜色点(等于k)。 2. 特殊颜色外,原创 2017-09-26 10:48:00 · 1425 阅读 · 0 评论