题解:CF2135C By the Assignment
Revitalize · · 题解
省流:给你一个无向联通简单图,图上某些点的点权(第
显然,如果图是树,那么树上的节点可以随便填权值,因为两两之间路径唯一。
然后考虑一般图。
首先,这题是性质题。
一个一个看性质。
【性质 1】
省流:任意一个长度为
不难发现,若
由于同一个点对
这就意味着环上所有其他节点的异或和是
对于这个环上的任意相邻点对来说都是一样的,所以这个性质得证。
【性质 2】
省流:任意环的异或和都是
相当于把性质一做了推广。
如果环
但是,你考虑环上两个点
我们让
然而
因此任意环的异或和都是
【性质 3】
省流:任意奇环上的所有点权都是
首先,根据性质 2,显然奇环上的所有点点权都相等。
所以只能全都是
【性质 4】
省流:任意偶环上的所有点权都相等。
这个反证一下也是挺显然的。
【3,4 推论】
- 如果某个奇环和偶环有交,那么两个环的并上的所有点都是 0。
- 如果某个偶环和偶环有交,那么两个环的并上的所有点权都相等。
有了这几个性质,答案呼之欲出。
就是对原图跑 Tarjan 求出每一个边双连通分量。
为啥,因为边双连通分量本质上就是一堆环的并。
对于每一个边双联通分量,如果不是二分图,那么这个边双上所有点都是
如果是二分图,那么这个边双上所有点权都相等。
判二分图就是找奇环,BFS 黑白染色即可。
最后,关于已经钦定点权的点,那个其所在的整个边双的点权都与它相等。(除非它不是
没有钦定的就乘法原理即可。
所以最终答案是