只看45分的话,是树形DP....(当然也有能拿到70分+的大佬) 40分: 只考虑k==1的情况,树形DP 所以每个节点可能被父亲,自己,儿子控制 设f[MAXN][3],0表示儿子,1表示自己,2表示父亲 f[i][1]+=min(f[to][0],f[to][1],f[to][2])(因为自己控制自己,儿子怎样都行) f[i][0]+=min(f[to][0],f[to][1]) 但是因为i的儿子必须有一个自己控制自己,所以还要判断所加值中是否有f[to][1],如果没有 f[i][0]+…