传送门:bzoj1478
题解
设点数为 n n , 种颜色。很容易想到点的置换方式有 n! n ! 种,直接枚举判断同构复杂度太高显然不行。
由 polya p o l y a 定理,可以通过求每个边转置群 g g 循环组个数 ,总转置集合为 G G ,答案即为
复杂度还是没有降下来,但 ccosi c c o s i 学习到了一个巧妙的方法(超神奇!):
考虑利用点置换转化为边置换,且方案只与点转置中每个循环组大小有关,而与具体转置方法无关。
枚举点转置的循环组(有向边形成的环,下文均称其为环),观察性质可以分别得到环内以及环之间的边的转置的循环组个数。这里的转置均考虑为环上的旋转操作。
设环的大小为 v v ,即循环组内点数。则环内的边循环组个数为 。设另一个环的大小为