CF1391E Pairs of Pairs
CF1391E Pairs of Pairs
还是个牛逼构造。
先随便求出一个 \(dfs\) 树,然后显然如果这个树的深度大于 \(\lceil\frac n2\rceil\) ,问题一一定有解。
否则深度 \(\le \lceil\frac n2\rceil\) ,那么考虑怎么配对,我们直接选择同一层的两个节点来配对。
考虑这样的正确性:设 \(dep_a=dep_b,dep_c=dep_d,dep_a<dep_c\) 同层点显然没有边,对于不同层的节点,只会有父亲边或者返祖边。
如果是返祖边,由于 \(a,b\) 每个点只能由一个返祖边,所以最多两条边。
如果是父亲,并且 \(a,b\) 有不同的父亲,那么必然一个节点只有一个父亲。
如果是父亲,并且 \(a,b\) 的父亲相同,那么必然 \(c,d\) 中一个点有两条边,另一个点没边。
所以最多两条边。
另外因为不足 \(\lceil\frac{n}{2}\rceil\) 个层,所以一层最多一个点没有被选上。所以点数至少 \(\lceil\frac{n}{2}\rceil\) 个。
代码鸽了。

浙公网安备 33010602011771号