CF786E ALT

题意

cf

做法

定义(E1)(T1)的边集,(E2)(T2)的边集,(U=E1cap E2)
结论(forall ein E1-U,exists fin E2-U),使得(E1-e+f,E2+e-f)均为树

比较显然,不赘述

进而有个很强的推论:答案为(n-1),也就是能形成完备匹配

证明:
每次将树替换为((T1,T2+e-f)),因为每次我们都是用不属于(U)的边,同时(T1)是满足条件的,所以可以归纳下去

(T2)可以用一棵动态树维护,对于任意(e),在子树上二分找到(f)即可

还有一种常数更小的办法,因为结论中是对称的,在(T2)中找到一端为叶子节点的(f),这时候判断是否在(T2)子树中用并查集就好了

题外话

单纯看这题题面是没有什么想法的,好在样例良心,观察样例,大胆猜结论

原文地址:https://www.cnblogs.com/Grice/p/12343870.html