CF1667D Edge Elimination 题解
作者:互联网
这种树上删边类型的问题可以把每个点单独拿出来,将与它相连的边看成一个菊花图,在菊花图上面钦定顺序,然后用拓扑排序确定相对顺序。
我们对每个点连边的删边确定顺序,偶数标成 0
,奇数标成 1
(即被删的相对顺序的奇偶性)。那么肯定 1
的个数为 \(\lfloor\frac{du_i}{2}\rfloor\)。这样就可以判定合不合法。
不难发现肯定是 0101...
这样的形式,我们就钦定一个顺序。这个可以从叶子往上确定。
碰到度数为偶数的情况,我们应该排成 1010...
,因为 1
的另一端点有奇数条边,这边也应该有奇数条。
将边看成点,对于钦定的顺序,我们将前一条边对应的点向后一条边对应的点连一条边。
不难发现肯定不会有环,拓扑排序即可。
Code:https://pastebin.ubuntu.com/p/zfcG2FJpyn/。
标签:...,顺序,奇数,题解,钦定,标成,Edge,Elimination,删边 来源: https://www.cnblogs.com/xsl19/p/cf1667d_sol.html