考场上想到了长链剖分和从编号小->大状态压缩dp,但是由于思路不清楚没有做出。
当(ty=1) (ans=n-sum_i lfloor frac {d_i}{2}
floor -1)
考虑自底而上合并。我们每次最多合并(frac{d_i}{2})次。这就解释了这个公式
当(ty=2)就是[Poi2004]SZN/赛道修建
考虑二分。
还是自底而上合并。
当当前点的度数是奇数时,二分伸出的链的长度,把最长与最短,次长与次短....匹配。
当当前点的度数是偶数时,还可能当前点的所有儿子两两匹配,向上伸出长度为(1)的链。
(d_ileq 2)就是一条链,三问答案分别是(1,n,1)