AGC004F Namori
题意 : 给出一张
初始时每个点都是白色,每次操作可以选择一条边,若两个端点的颜色相同,则可以将两个端点的颜色取反。
目标是将所有点变为黑色,求出所需的最小步数,或指出无解。
为奇数时无解 每个点最终一定参与了奇数次操作,
个奇数求和,得到奇数次对点的影响。 一次操作影响
个点,对点的影响只可能是偶数次,矛盾。 为偶数,且图是一棵树 注意到树是二分图,将树黑白染色,操作能进行的条件就变为“端点异色”,且作用等价于将黑点移动一步。
目标是将黑白位置对调。
操作只能移动,不能改变黑白点的个数。由此可以发现,若黑白染色后,两种颜色的点不相同,则必然无解,否则有解。
考虑某个子树连向父亲的边,若子树内有
个黑点,以及 个白点,那么该边至少要用于向内或向外运输 个黑点。可以归纳证明这同时也是可以取到的。 具体地,将黑点的点权置为
,白点的点权置为 ,记 的子树点权和为 ,则答案为 。 为偶数,且图是一棵基环树,环长为偶数 此时图仍然是二分图,前面的转化仍然成立。
在环上断掉一条边,看做树的情况,然后单独考虑该边的使用次数。
若按照指定方向使用了
次,则对 的影响如下 : 将会受到影响的点的贡献写成
的形式,即转化为经典问题。 为偶数,且图是一棵基环树,环长为奇数 此时图不再是二分图了。
先断掉一条环上的边,然后黑白染色。
这条特殊的边使用规则和其他边不同,每次可以把黑黑变为白白,或者白白变为黑黑。
查看整棵树的权值和
,若为偶数,则可以利用这条边消除之,否则无解。 而这条边的使用次数也可以恰好为
,证明略去。 考虑完这条边的影响后,完全转化为树的情况。
复杂度