首先官方题解写的挺好的,可以看
为什么需要在DP状态中定义\(i\)及其父亲的这条边也在呢?你可以试试不定义,那么你会发现是推不走的,因为比如我们现在正在推\(i\),那么他的一个儿子\(u\)的DP值都知道了,但是由于有了\((u,i)\)这一条边,我们就把\(u\)的度数改变了,这个时候\(u\)的DP值就不在适用了
综上,其实我们也可以这么定义:\(f[i][0/1/2/3]\)表示以\(i\)为根的子树,\(i\)选了\(0/1/2/3\)个子节点(其中\(3\)代表\(3\)个子节点及以上)的最优值,状态转移方程见CF代码
标签:定义,Tree,个子,Compressed,节点,DP From: https://www.cnblogs.com/dingxingdi/p/18061693