Polya定理 L=1/|G|*(m^c(p1)+m^c(p2)+...+m^c(pk)) G为置换群大小 m为颜色数量 c(pi)表示第i个置换的循环节数 如置换(123)(45)(6)其循环节数为3--------------------------------------------...
分类:
其他好文 时间:
2015-04-08 14:38:24
阅读次数:
142
这道题考察的是组合计数(用Burnside,当然也可以认为是Polya的变形,毕竟Polya是Burnside推导出来的)。这一类问题的本质是计算置换群(A,P)中不动点个数!(所谓不动点,是一个二元组(a,p),a∈A,p∈P ,使得p(a)=a,即a在置换p的作用后还是a)。Polya定理其实就...
分类:
其他好文 时间:
2015-02-16 16:55:05
阅读次数:
277
NYOJ 280 LK的项链 :click here
POJ 2409 Let it Bead:click here
题意:一盒有红、蓝、绿三种颜色的珠子,每种颜色珠子的个数都大于24,现在LK想用这一盒珠子穿出一条项链,项链上的珠子个数为n(0
poj 上是c种颜色,s个珠子组成,数据比24小。
思路:今天刚接触到polya 定理:
Polya定理:设...
分类:
其他好文 时间:
2015-02-15 10:45:22
阅读次数:
172
描述
http://codevs.cn/problem/2926/
题解:
Polya定理的应用。
首先...
分类:
其他好文 时间:
2015-02-10 00:39:22
阅读次数:
167
参考了http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove 的模板对于每一种染色,都有一个等价群,例如旋转,翻转等。我们将每一种变换转换成一个置换群,通过置换群得到的都是等价的染色方案最终我们要求的是非等价的染色方案数。在Burn...
分类:
其他好文 时间:
2015-01-22 00:10:34
阅读次数:
207
题目大意:给定一个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
/*鞍山区域赛的K题。。当时比赛都没来得及看(反正看了也不会)学了polya定理之后就赶紧跑来补这个题。。由于几何比较烂写了又丑又长的代码,还debug了很久。。比较感动的是竟然1Y了。。*/题目大意:给定一些点,某些点上有边,问用k种颜色染色的等价类有多少种思路:由于坐标是整数。。只有可能旋转90...
分类:
其他好文 时间:
2014-11-16 22:56:25
阅读次数:
201
#include
#include
#include
#include
using namespace std;
typedef long long LL;
int gcd(int x,int y){
return y ? gcd(y,x%y) : x;
}
int main()
{
int n,m;
LL ans;
while(scanf("%d%d",&m,...
分类:
其他好文 时间:
2014-11-01 14:52:47
阅读次数:
188
首先,中心点是可以直接算出来的
把所有的坐标相加再除n就可以
然后枚举一个不靠近中心的点,枚举它绕中心点旋转的角度,只要枚举50次就可以了
计算出当前枚举的的角度是否能形成一个置换群
计算循环节,再用polya定理算个数
#pragma comment(linker, "/STACK:102400000,102400000")
#include
#include
#include
#...
分类:
其他好文 时间:
2014-10-24 19:03:13
阅读次数:
423