题目大意:给定一个n个点的环,可以旋转和翻转,要求涂上c种不同的颜色,问等价类数目
首先我们不考虑翻转 假设一次旋转k个位置 那么循环个数显然是Gcd(n,i)
现在考虑翻转 易知所有的置换都可以由【沿着某个固定的对称轴翻转】和【旋转】两步组成
观察一个环 比如我们将对称轴设定为1号节点与圆心的连线 一次旋转k个位置
那么每次置换x会被换到((n+2)-x+k-1)%n+1的位置
我们会...
分类:
其他好文 时间:
2015-01-21 15:15:40
阅读次数:
136
这两个题都是项链珠子的染色问题也是polya定理的最基本和最经典的应用之一题目大意: 用m种颜色染n个珠子构成的项链,问最终形成的等价类有多少种项链是一个环。通过旋转或者镜像对称都可以得到置换旋转可以旋转 i=[1,n]次。。画图可以看出循环节有gcd(n,i)个镜像对称的置换画个图也是很容易找的然...
分类:
其他好文 时间:
2014-11-21 18:05:34
阅读次数:
261
#include #include using namespace std;#define LL long longLL gcd(LL a, LL b){ return b ? gcd(b, a % b) : a;}LL polya(LL n){ LL ret = 0; for(L...
分类:
其他好文 时间:
2014-09-25 21:29:07
阅读次数:
219
Let it Bead
大意:给你m种颜色,n个珠子串起来,旋转跟反转相同算相同,问有多少种不同的涂色组合方式。
思路:Polya的简单应用。
/*************************************************************************
> File Name: POJ2409.c...
分类:
其他好文 时间:
2014-07-30 01:02:52
阅读次数:
188
/*ID: neverchanjePROG:LANG:
C++11*/#include#include#include#include#include#include#include#include#include#define
INF 0Xfffffffff#define st_size (1>c...
分类:
其他好文 时间:
2014-05-26 02:26:24
阅读次数:
222