burnside引理和polya定理

burnside引理:$ans=\frac{1}{n} *(f(1)+...f(n))$

$f(i)$表示在i置换下本质不同排列的个数

polya定理:

利用本质不同位置的个数去计算$f(i)$

对于长度为n的序列移动i之后显然循环节是$gcd(n,i)$

考虑对于一个因数d,显然$gcd(n,i)=d$的个数是$phi(n/d)$

 

上一篇:蓝桥杯 既约分数


下一篇:关于C和C++区别的讨论