题意 : 给定一张有 个点, 条边的无向图图 ,现构造一张新图 ,其中每个点都是一个二元组。
点
之间有边当且仅当 中 和 有边且 和 有边。
求 中的联通块个数。
,,时限 。
可以抽象成:有两个小人,一个在
点,一个在 点,以 来描述他们的状态。
每轮操作中,两人可以同时行动一步。若两个状态可以在操作若干次之后相同,则在同一个等价类中,求等价类的个数。
首先查看
中的孤立点。对于孤立点 ,所有与
相关的状态都是无法转移的。
若有 个孤立点,则贡献为 。
现在考虑非孤立点 。
若 所在的联通块内存在奇环,则
前往奇环绕一圈再回来, 左右横跳,即可制造出 或者
单走一步的效果。这样,两个联通块之间的点对都在同一等价类之内。
若
所在的联通块内都不存在奇环,则黑白染色,每操作一次会将两个点的颜色都取反。
则分为两个等价类:。
统计有奇环的联通块个数 ,无奇环的联通块个数 ,贡献为 。
复杂度 。