题意简述
给定一个无向图,点数和边数(但你完全珂以当成来做),边有边权,判断这个图是否每个环的边权的异或和都是。
思路框架
暴力找每个环,根据序维护异或和,然后用前缀和维护这个环的异或和,判断是否为即珂。
具体思路
首先维护序是显然的。然后维护一下,表示有没有访问过。
如果点能到一个点,并且上一个点是,满足:且被访问过了,那么到这些点的序是连续的且组成一个环。
用表示序从到这些点上面的边的异或和。那么,异或就是到除了最后一条边的异或和了。然后我们再异或上最后一条边,就是到这条,就是这个环的异或和。如果不是,就不要继续搜了。
然后暴力跑一遍即珂。这样的话,时间复杂度就是了,很强。(那为什么数据只有?)
代码
1 |
|