Tree

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

posted @ 2021-02-08 14:48  celerity1  阅读(65)  评论(0)    收藏  举报