poj 2409 Let it Bead【polya定理+burnside引理】
两种置换
旋转:有n种,分别是旋转1个2个……n个,旋转i的循环节数位gcd(i,n)
翻转:分奇偶,对于奇数个,只有一个珠子对一条边的中点,循环节数为n/2+1;对于偶数个,有珠子对珠子和边对边,循环节个数为n/2+1个和n/2个
然后用polya定理即可
#include<iostream>
#include<cstdio>
using namespace std;
long long n,k,ans;
long long ksm(long long a,long long b)
{long long r=1;while(b){if(b&1)r=r*a;a=a*a;b>>=1;}return r;
}
long long gcd(long long a,long long b)
{return !b?a:gcd(b,a%b);
}
int main()
{while(scanf("%d%d",&k,&n)&&k+n){ans=(n&1)?ksm(k,n/2+1)*n:ksm(k,n/2+1)*n/2+ksm(k,n/2)*n/2;for(int i=1;i<=n;i++)ans+=ksm(k,gcd(i,n));printf("%lld\n",ans/2/n);}return 0;
}
转载于:https://www.cnblogs.com/lokiii/p/9261823.html
poj 2409 Let it Bead【polya定理+burnside引理】相关推荐
- POJ 2409 Let it Bead (Polya定理)
题意 用k种颜色对n个珠子构成的环上色,旋转翻转后相同的只算一种,求不等价的着色方案数. 思路 Polya定理 X是对象集合{1, 2, --, n}, 设G是X上的置换群,用M种颜色染N种对象,则不 ...
- poj 2409 Let it Bead Polya计数
旋转能够分为n种置换,相应的循环个数各自是gcd(n,i),个i=0时不动,有n个 翻转分为奇偶讨论,奇数时有n种置换,每种有n/2+1个 偶数时有n种置换,一半是n/2+1个,一半是n/2个 啃论文 ...
- 组合数学常用内容——Polya定理+Burnside引理
Burnside引理 设G是N{1,2,.....,n}上的置换群,G在N上可引出不同的等价类(在置换群中有置换的都等价),其不同的等价类的个数为LL=1/|G|*(c1(a1)+...c1(ai). ...
- 置换群Polya定理(poj 2409: Let it Bead)
可以先看 置换群burnside引理(bzoj 1004: [HNOI2008]Cards) Polya定理公式(必须在没有限制下才能使用此公式): 其中|G|为总置换数,m表示可用的颜色数,c(gi ...
- POJ 2409 Let it Bead【Polya定理】(模板题)
<题目链接> 题目大意: 用k种颜色对n个珠子构成的环上色,旋转.翻转后相同的只算一种,求不等价的着色方案数. 解题分析: 对于这种等价计数问题,可以用polay定理来解决,本题是一道po ...
- 解题报告 (五) Burnside引理和Polya定理
Burnside引理 笔者第一次看到Burnside引理那个公式的时候一头雾水,找了本组合数学的书一看,全是概念.后来慢慢从Polya定理开始,做了一些题总算理解了.本文将从最简单的例子出发,解释Bu ...
- polya 定理总结
公式 用cc 种颜色对 nn 个置换群G1,G2,-,GnG_1,G_2,\dots ,G_n着色,设每个置换群的循环节数为kik_i那么不同的着色总数 PG=1|G|∑ni=1ckiP_G = \f ...
- 置换群,Polya引理和burnside引理(等价类计数问题)
参考文章: 等价类计数问题 Burnside引理&Pólya定理 Burnside引理与Polya定理 置换群和Burnside引理,Polya定理 概念引入: 离散数学应该学过置换群的相关概 ...
- poj 2409 polya定理
polya定理的入门题 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using ...
- Polya定理,Burnside引理
涉及到组合数学的问题,首先是群的概念: 设G是一个集合,*是G上的二元运算,如果(G,*)满足下面的条件: 封闭性:对于任何a,b∈G,有a*b∈G; 结合律:对任何a,b,c∈G有(a*b)*c=a ...
最新文章
- 【干货】新手炼丹经验总结
- oracle经常开关好吗,频繁开关机对电脑有什么影响吗?
- linux java 进程jvm 挂起,【jvm】jconsole远程linux上的java进程
- oracle将字符串的日期格式化,oracle格式化字符串 oracle 怎么把字符串转换成日期...
- mvc html.hidden,ASP.Net MVC Html.HiddenFor有错误的值
- go语言:一些环境变量
- k8s学习:WordPress + MySQL + PVC 构建一个博客网站
- c里面的fflush函数
- jquery知识点总结(转)
- 【有利可图网】推荐!设计师必备配色宝典!
- java实训自我总结_java实训个人总结
- openbravo与淘宝对接文档一
- 计算机图形学入门(十二)-阴影映射Shadow mapping(为光线追踪准备)
- 支付宝小程序悬浮按钮
- 手机代替amiibo_能否用手机的NFC功能直接模拟任天堂的amiibo?
- access如何查询两张表的内容_Access使用技术2:使用交叉表查询向导进行每日汇总...
- After Effects Guru: Plugins You Should Know After Effects 大师教程之你必须了解的插件 Lynda课程中文字幕
- 软件资源免费下载网址
- FPGA视频接口方案,VGA,HDMI,LVDS,SDI接口转换
- word设置多级混合标题(自动编号、交叉引用、题注 图1-1)
热门文章
- 深度强化学习DQN(Deep Q Network)原理及例子:如何解决迷宫问题,附源码
- 【模板】字符串hash
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
- iOS - OC NSTimeZone		时区
- SurfaceView的绘图机制
- newlisp获得bash该命令的退出状态
- 关于iptables配置的心得
- mysql数据签名功能_分析型数据库 MySQL的签名机制有哪些?
-问答-阿里云开发者社区-阿里云...
- python pcl_windows 10 环境pcl-python 安装
- testlink匹配mysql8_TestLink与RedMine连接部署说明