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\) 个。

代码鸽了。

posted @ 2021-09-11 17:28  __Anchor  阅读(48)  评论(0)    收藏  举报