博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于数论【polya计数法】
阅读量:5085 次
发布时间:2019-06-13

本文共 1568 字,大约阅读时间需要 5 分钟。

可以预见数论推公式是有多么蛋疼。

让我简明扼要的讲讲吧(多都说不出来,毕竟才做了两道题)其实呢,这个算法应该归入群论,有个有用的东西:置换群,它表示一个集合包括很多的置换。

先讲讲置换吧:↓(这是个置换)
1 2 3 4
3 1 2 4
怎么个置换法呢?这个就代表,第1个状态置换后变成第3个状态,第2个状态置换后变成第1个状态,第3个状态置换后变成第2个状态,第4个状态置换后变成第4个状态。
然后就是循环节:
1 2 3 4 5
3 5 1 4 2
它等于:(13)(25)(4)
那循环节长度就等于3

嘿嘿,简单吧。

然后就是一个神奇的定理——polya定理,设这个群{g1,g2,……gG}G为置换群的置换数,c(g)表示这个置换的循环节长度,用m种颜色涂点,那不同的涂色方案为:m^c(g1)+m^c(g2)+m^c(gG)的和除以G(这个我实在是证不出来,死记吧),然而c(g)怎么理解?其实这个来源于Burnside引理,我们将其优化变成polya定理,那这个是什么?

burnside引理:用D(i)表示在置换中不变的个数,怎么理解?例如第一个置换,4就是不变的,那这个置换的D就等于1。那不同的涂色方案就等于ΣGi=1 *D(i)。这个循环节的想法,就是来自于这里的D,同时,由于polya有很大局限性(因为直接用polya题目就太简单啦T>*<T)所以说有很多题都是要用引理+优化。

例题:poj2409

 

#include
#include
using namespace std;typedef long long LL;LL gcd(LL a,LL b){ if(a==0)return b; return gcd(b%a,a);}LL power(LL A,LL k){ LL ans=1; while(k!=0) { if(k%2==1)ans*=A; A*=A;k/=2; } return ans;}int main(){ LL n,m; while(scanf("%lld%lld",&m,&n)!=EOF) { if(n==0&&m==0)break; LL ans=0; for(int i=1;i<=n;i++)ans+=power(m,gcd(i,n)); //旋转置换,枚举旋转的豆子个数,置换数为n,循环节长度为LCM(i,n)/i,循环节数为n/(LCM(i,n)/i)=gcd(i,n) //翻转置换 if(n%2==1)//假如是奇数,就只有一种情况,n个豆子有n种置换,循环节为(n+1)/2 { ans+=n*power(m,(n+1)/2); } else//假如是偶数,两种情况,对称轴过豆子或过间隔 { ans+=n/2*power(m,n/2);//对称轴过间隔,所有豆子翻转,有n/2种置换,循环节为n/2 ans+=n/2*power(m,(n+2)/2);//对称轴过豆子,两个豆子不变,其他翻转,有n/2种置换,循环节为(n+2)/2 } printf("%lld\n",ans/(n*2));//G=n*2 } return 0;}

 

转载于:https://www.cnblogs.com/AKCqhzdy/p/7593704.html

你可能感兴趣的文章
HDU4536 XCOM Enemy Unknown(dfs)
查看>>
ssh三大框架的认识
查看>>
[CF1025D]Recovering BST
查看>>
关于链表问题
查看>>
关于selenium实现滑块验证
查看>>
如何编写高效的jQuery代码(转载)
查看>>
深入浅出AQS之独占锁模式
查看>>
【题解】TES-Intelligence Test
查看>>
20150207读书笔记<深入理解计算机系统2-1>
查看>>
HDU 4123(两种方法-RMQ,单调队列)
查看>>
下层基础决定上层建筑
查看>>
Java打印常见图形
查看>>
使用restTemplate来访问https
查看>>
转shellcode介绍
查看>>
CSS的单位 及 css3的calc() 及 line-height 百分比
查看>>
javascript 可多选的下拉框 multiselect 动态删除option值,动态添加option值,动态生成表格...
查看>>
BZOJ 3112 [Zjoi2013]防守战线
查看>>
子类对象赋值给父类引用
查看>>
【bzoj4579】[Usaco2016 Open]Closing the Farm 并查集
查看>>
【bzoj3007】拯救小云公主 二分+对偶图+并查集
查看>>