AGC011C Squared Graph

题意 : 给定一张有 个点, 条边的无向图图 ,现构造一张新图 ,其中每个点都是一个二元组

之间有边当且仅当 有边且 有边。

中的联通块个数。

,时限


可以抽象成:有两个小人,一个在 点,一个在 点,以 来描述他们的状态。

每轮操作中,两人可以同时行动一步。若两个状态可以在操作若干次之后相同,则在同一个等价类中,求等价类的个数。

首先查看 中的孤立点。对于孤立点 ,所有与 相关的状态都是无法转移的。

若有 个孤立点,则贡献为

现在考虑非孤立点

所在的联通块内存在奇环,则 前往奇环绕一圈再回来, 左右横跳,即可制造出 或者 单走一步的效果。这样,两个联通块之间的点对都在同一等价类之内。

所在的联通块内都不存在奇环,则黑白染色,每操作一次会将两个点的颜色都取反。

则分为两个等价类:

统计有奇环的联通块个数 ,无奇环的联通块个数 ,贡献为

复杂度