求每个置换的不变的着色数,对于每个置换,有gcd(n,k)个环
显然,任取一段长度为gcd(n,k),则gcd(n,k)个点分别属于各个环
且相邻关系是(a1,a2),(a2,a3)...(ai,a1)
那么,问题转换成了,对于每个置换i= gcd(n,k),求a1,a2..ai的着色数,相邻点都符合条件,即有些颜色不能相邻
设m种颜色为 m个点,形成m*m的矩阵C,若i后面可跟j,则(i,j)= 1
设a1上颜色为1,那么从a1->a2->a3->...->ak->a1,就是C^k中的(1,1)
每个置换的答案就是C^k的对角线之和
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include