【poj2409】Let it Bead Polya定理
用 $c$ 种颜色去染 $r$ 个点的环,如果两个环在旋转或翻转后是相同的,则称这两个环是同构的。求不同构的环的个数。 $r·c\le 32$ 。
题解
Polya定理
Burnside引理:一个置换群的等价类数目等于这个置换群中所有置换的不动点数目的平均值;
Polya定理:设有限群G有 $m$ 个置换,第 $i$ 个置换有 $a_i$ 个循环,现在要将所有的点染成 $c$ 种颜色,那么染色后群G的等价类数目为:$L=\frac{c^{a_1}+c^{a_2}+…+c^{a_m}}m$ 。
推导过程:显然对于第 $i$ 个置换来说,不动点要求所有循环的颜色相同,每个循环有 $c$ 种颜色选择,所以该置换的不动点数目为 $c^{a_i}$ 。
那么考虑每种置换的循环数目:
如果没有翻转操作:设旋转 $k$ 个位置,考虑一个循环的大小 $x$ ,实际上就是 $kx\mod r=0$ 的最小正整数解(转了 $x$ 次后回到原处)。
显然 $x=\frac{\text{lcm}(k,r)}{k}=\frac{r}{\gcd(k,r)}$ ,因此循环个数为 $\frac{r}{\frac{r}{\gcd(k,r)}}=\gcd(k,r)$ ,方案数为 $c^{\gcd(k,r)}$ ;
如果有翻转操作:对于任意的 旋转-翻转-旋转 操作都等同于一次翻转操作。因此只需要统计所有本质不同的翻转操作的答案。
当 $r$ 为奇数时,对称轴为 某点-对边中点 ,显然这样置换有 $r$ 种,每个置换有 $\frac{r+1}{2}$ 个循环。因此答案为 $rc^{\frac{r+1}{2}}$ ;
当 $r$ 为偶数时,对称轴为 某点-对点 时,置换有 $\frac r2$ 种,每个置换有 $\frac r2+1$ 个循环;对称轴为 某边-对边中点 时,置换有 $\frac r2$ 种,每种置换有 $\frac r2$ 个循环。因此答案为 $\frac r2(c^{\frac r2}+c^{\frac r2+1})$ 。
把这两部分加起来即为答案。
#include <cstdio>
typedef long long ll;
int gcd(int a , int b)
{
return b ? gcd(b , a % b) : a;
}
int main()
{
int n , m , i , d;
ll ans , t;
while(~scanf("%d%d" , &m , &n) && (n || m))
{
ans = 0;
for(i = 1 ; i <= n ; i ++ )
{
t = 1 , d = gcd(i , n);
while(d -- ) t *= m;
ans += t;
}
if(n & 1)
{
t = n;
for(i = 1 ; i <= n / 2 + 1 ; i ++ ) t *= m;
ans += t;
}
else
{
t = n / 2;
for(i = 1 ; i <= n / 2 ; i ++ ) t *= m;
ans += t;
t = n / 2;
for(i = 1 ; i <= n / 2 + 1 ; i ++ ) t *= m;
ans += t;
}
printf("%lld\n" , ans / 2 / n);
}
return 0;
}
【poj2409】Let it Bead Polya定理的更多相关文章
- 【POJ2409】Let it Bead Pólya定理
[POJ2409]Let it Bead 题意:用$m$种颜色去染$n$个点的环,如果两个环在旋转或翻转后是相同的,则称这两个环是同构的.求不同构的环的个数. $n,m$很小就是了. 题解:在旋转$i ...
- POJ2409 Let it Bead(Polya定理)
Let it Bead Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6443 Accepted: 4315 Descr ...
- 置换群 Burnside引理 Pólya定理(Polya)
置换群 设\(N\)表示组合方案集合.如用两种颜色染四个格子,则\(N=\{\{0,0,0,0\},\{0,0,0,1\},\{0,0,1,0\},...,\{1,1,1,1\}\}\),\(|N|= ...
- 【BZOJ1478】Sgu282 Isomorphism Pólya定理神题
[BZOJ1478]Sgu282 Isomorphism 题意:用$m$种颜色去染一张$n$个点的完全图,如果一个图可以通过节点重新标号变成另外一个图,则称这两个图是相同的.问不同的染色方案数.答案对 ...
- 【POJ2154】Color Pólya定理+欧拉函数
[POJ2154]Color 题意:求用$n$种颜色染$n$个珠子的项链的方案数.在旋转后相同的方案算作一种.答案对$P$取模. 询问次数$\le 3500$,$n\le 10^9,P\le 3000 ...
- 数学:Burnside引理与Pólya定理
这个计数定理在考虑对称的计数中非常有用 先给出这个定理的描述,虽然看不太懂: 在一个置换群G={a1,a2,a3……ak}中,把每个置换都写成不相交循环的乘积. 设C1(ak)是在置换ak的作用下不动 ...
- 置换及Pólya定理
听大佬们说了这么久Pólya定理,终于有时间把这个定理学习一下了. 置换(permutation)简单来说就是一个(全)排列,比如 \(1,2,3,4\) 的一个置换为 \(3,1,2,4\).一般地 ...
- Burnside引理&Pólya定理
Burnside's lemma 引例 题目描述 一个由2*2方格组成的正方形,每个格子上可以涂色或不涂色, 问共有多少种本质不同的涂色方案. (若两种方案可通过旋转互相得到,称作本质相同的方案) 解 ...
- @总结 - 12@ burnside引理与pólya定理
目录 @0 - 参考资料@ @1 - 问题引入@ @2 - burnside引理@ @3 - pólya定理@ @4 - pólya定理的生成函数形式@ @0 - 参考资料@ 博客1 @1 - 问题引 ...
- Pólya 定理学习笔记
在介绍\(Polya\) 定理前,先来介绍一下群论(大概了解一下就好): 群是满足下列要求的集合: 封闭性:即有一个操作使对于这个集合中每个元素操作完都使这个集合中的元素 结合律:即对于上面那个操作有 ...
随机推荐
- QStackedWidget 与 QStackedLayout 的用法区别
import sys from PyQt5 import QtWidgets, QtCore class MyWidget(QtWidgets.QWidget): def __init__(self, ...
- RHCSA-day3
10.配置LDAP客户端 在classroom.example.com上已经部署了一台LDAP认证服务器,按以下要求将你的系统加入到该LDAP服务中,并使用Kerberos认证用户密码: 该LDAP认 ...
- L014-第三关课前linux命令及基础知识考试手把手实战解答小节
又是一周啊,以后保持一周一个微博吧. 这是一个堂解答考试题的课,那么就以题目来展开吧! 1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r--为644,要求用命令获得644这 ...
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...
- 自动化之UI(autoit)
自动化 说到自动化,我真的很不喜欢UI这层去做实践.前置条件要求比较严谨,如果不满足特定的前置条件,那么成本实在太大了. 投入与产出差过大,效果打折扣.从互联网来说,UI自动化是入门门槛很低的一种实践 ...
- php 操作 oracle lob 数据2
CREATE SEQUENCE mylobs_id_seq NOMINVALUE NOMAXVALUE NOCYCLE CACHE 20 NOORDERINCREMENT ...
- 转载-找圆算法((HoughCircles)总结与优化-霍夫变换
原文链接: http://www.opencv.org.cn/forum.php?mod=viewthread&tid=34096 找圆算法((HoughCircles)总结与优化 Ope ...
- vue cli 3 +jquery
const webpack = require('webpack')module.exports = { // baseUrl type:{string} default:'/' // 将部署应用程序 ...
- selenium 标签页切换
from selenium import webdriver import time browser=webdriver.Chrome() browser.maximize_window() # 窗口 ...
- 33.[LeetCode] Search in Rotated Sorted Array
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...