公式:

Burnside引理: 1/|G|*(C(π1)+C(π2)+C(π3)+.....+C(πn));

C(π):指不同置换下的等价类数。例如π=(123)(3)(45)(6)(7),X={1,2,3,4,5,6,7};那么C(π)={3,6,7}共3个等价类。

Polya定理: 1/|G|*(mC(π1)+mC(π2)+mC(π3)+...+mC(πk)).

设G={π1,π2,π3........πn}是X={a1,a2,a3.......an}上一个置换群, 其中C(πk)为置换πk的循环节的个数。

eg:

POJ2409 Let it Bead

http://poj.org/problem?id=2409

题意:

有一个n长的项链,用m种颜色对其染色,有多少中不同的染色方法,项链可以旋转或者翻转。

思路:

用polya计数法,

对于旋转:每种旋转的循环节数就是gcd(i,n).

对于翻转:奇数时,按一个点与对边的轴翻转,循环节就是(n+1)/2,有n种。

偶数时,可以以两条对边翻转,循环节数就是n/2,可以以两对点翻转,循环节数就是(n+2)/2 ,分别有n/2种

代码:

long long n,m;
long long flag,sum,ave,ans,res; long long gcd(long long x,long long y)
{
return y?gcd(y,x%y):x;
}
long long power(long long x,long long k)
{
long long ans = 1;
while(k)
{
if(k & 1) ans *= x;
x *= x;
k >>= 1;
}
return ans;
}
int main()
{
int i,j,k,kk,t,x,y,z;
while(scanf("%lld%lld",&m,&n)!=EOF&&n)
{
sum=0;
for(i=1;i<=n;i++)
sum+=power(m,gcd(n,i));
if(n&1)sum+=(n*power(m,(n+1)/2));
else sum+=(n/2*power(m,(n+2)/2)+n/2*power(m,n/2));
sum/=(2*n);
printf("%lld\n",sum);
}
return 0;
}

gym-101873B Buildings(polya计数)

ll qfast(ll x,ll y)
{
ll ans=1;
while(y)
{
if(y&1) ans=ans*x%mod;
x=x*x%mod;
y>>=1;
}
return ans%mod;
}
void run()
{
ll n=rdll(),m=rdll(),c=rdll();
ll x=qfast(c,n*n);
ll ans=0;
for(ll i=1;i<=m;i++)
{
ans+=qfast(x,__gcd(i,m));
ans%=mod;
}
ans*=qfast(m,mod-2);
printf("%lld\n",ans%mod);
}
signed main()
{
// int t=rd();
// while(t--)
run();
return 0;
}

最新文章

  1. vs版本转换工具
  2. SpringMVC上传文件
  3. chosen PersistenceUnitInfo does not specify a provider class name
  4. geotools导入shp文件到Oracle数据库时表名带下划线的问题解决
  5. 让innerHTML方法添加到元素里的js可以被解析执行
  6. Map遍历四种常用方法
  7. 国内网站遭遇SYN攻击事如何及时解决问题
  8. HttpGet HttpPost
  9. 关于TCP/IP,必知必会的十个经典问题[转]
  10. 谷歌AM HTML视频代码amp-video示例
  11. Linux中vim文本编辑器的介绍和使用方法
  12. 简单的图像显著性区域特征提取方法-----opencv实现LC,AC,FT
  13. Android上基于libgdx的游戏开发资料
  14. UIApplication的详细介绍
  15. UCMap移动GIS &amp; 时空地图GIS
  16. 发起一个NetCore技术联盟促进NetCore技术应用
  17. Caffe on Windows (Visual Studio 2015+CUDA8.0+cuDNNv5)
  18. 洛谷 P2731 骑马修栅栏 Riding the Fences 解题报告
  19. 用jsx语法写iview事件
  20. Codeforces 717.F Heroes of Making Magic III

热门文章

  1. ROM、SDRAM、RAM、DRAM、SRAM、FLASH的区别
  2. 012.NET5_MVC_Razor布局
  3. 关于 TCP 三次握手和四次挥手,满分回答在此
  4. Android 如何设置 WebView 的屏幕占比
  5. axios upload excel file
  6. git include只包含某些文件
  7. HTTP 协议的前世今生
  8. cxf实例异常
  9. 代码安全性和健壮性:如何在if和assert中做选择?
  10. 第50天学习打卡(JavaScript)