题目大意: 给你一个n个结点的树,请你搞一些破坏. 你可以选择手动弄坏某个点,那么与它直接相连的点也会自动坏掉. 问你把整棵树搞坏至少要手动弄坏几个点? 思路: f[0~2][i]表示不同状态下以i为根的子树至少要手动弄坏几个点. 我们可以把点的不同状态分为以下三种: 0:它的孩子有被手动弄坏的. 1:它自己被手动弄坏. 2:它父母被手动弄坏. 设当前根为x,枚举每个孩子y,一个固定的手动弄坏的孩子z,转移方程如下: f[0][x]=sum{min(f[0][y],f[1][y])|y≠z}+f…