polya
muczzcy
这个作者很懒,什么都没留下…
展开
-
POj 2409 Let it Bead ----- polya计数
题意:给定颜色种数和环上的珠子总数,问有多少种染色方案(通过旋转和翻转相同的算同一种)。这读不出来是硬伤。。。。 两种情况讨论: 1.旋转:循环节数 GCD(N,I); 2.翻转: N%2 == 1 时,N个循环节数 (N+1)/ 2 个循环群。 N%2 == 0 时,N / 2 个循环节数 (N+2)/ 2 , N / 2 个循环节数原创 2013-11-06 18:00:34 · 656 阅读 · 0 评论 -
poj 2154 Color ----polya计数
题意:此题跟POJ 2409类似,只不过只考虑旋转,不考虑翻转; 但是需要用到快速幂和欧拉函数的优化求解。 /* 旋转:顺时针旋转i格的置换中,循环的个数为gcd(i,n), 每个循环的长度为n/gcd(i,n)。 如果枚举旋转的格数i,复杂度显然较高。有没有好方法呢? 可以不枚举i,反过来枚举L。 由于L|N,枚举了L,再计算有多少个i使得0 即gcd(i,n)=n/L。 不妨原创 2013-11-07 10:03:59 · 596 阅读 · 0 评论 -
poj 1286 Necklace of Beads -----polya计数
题意:3种颜色的珠子串在一起两种置换(翻转和对称),问一共有多少等价类。 (模版题) Code: #include using namespace std; inline int gcd(int a,int b) { return b?gcd(b,a%b):a; } long long sol(int n) { long long x=1; while(n--)原创 2013-11-06 22:51:37 · 788 阅读 · 0 评论