两种置换
旋转:有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引理】相关推荐

  1. POJ 2409 Let it Bead (Polya定理)

    题意 用k种颜色对n个珠子构成的环上色,旋转翻转后相同的只算一种,求不等价的着色方案数. 思路 Polya定理 X是对象集合{1, 2, --, n}, 设G是X上的置换群,用M种颜色染N种对象,则不 ...

  2. poj 2409 Let it Bead Polya计数

    旋转能够分为n种置换,相应的循环个数各自是gcd(n,i),个i=0时不动,有n个 翻转分为奇偶讨论,奇数时有n种置换,每种有n/2+1个 偶数时有n种置换,一半是n/2+1个,一半是n/2个 啃论文 ...

  3. 组合数学常用内容——Polya定理+Burnside引理

    Burnside引理 设G是N{1,2,.....,n}上的置换群,G在N上可引出不同的等价类(在置换群中有置换的都等价),其不同的等价类的个数为LL=1/|G|*(c1(a1)+...c1(ai). ...

  4. 置换群Polya定理(poj 2409: Let it Bead)

    可以先看 置换群burnside引理(bzoj 1004: [HNOI2008]Cards) Polya定理公式(必须在没有限制下才能使用此公式): 其中|G|为总置换数,m表示可用的颜色数,c(gi ...

  5. POJ 2409 Let it Bead【Polya定理】(模板题)

    <题目链接> 题目大意: 用k种颜色对n个珠子构成的环上色,旋转.翻转后相同的只算一种,求不等价的着色方案数. 解题分析: 对于这种等价计数问题,可以用polay定理来解决,本题是一道po ...

  6. 解题报告 (五) Burnside引理和Polya定理

    Burnside引理 笔者第一次看到Burnside引理那个公式的时候一头雾水,找了本组合数学的书一看,全是概念.后来慢慢从Polya定理开始,做了一些题总算理解了.本文将从最简单的例子出发,解释Bu ...

  7. polya 定理总结

    公式 用cc 种颜色对 nn 个置换群G1,G2,-,GnG_1,G_2,\dots ,G_n着色,设每个置换群的循环节数为kik_i那么不同的着色总数 PG=1|G|∑ni=1ckiP_G = \f ...

  8. 置换群,Polya引理和burnside引理(等价类计数问题)

    参考文章: 等价类计数问题 Burnside引理&Pólya定理 Burnside引理与Polya定理 置换群和Burnside引理,Polya定理 概念引入: 离散数学应该学过置换群的相关概 ...

  9. poj 2409 polya定理

    polya定理的入门题 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using ...

  10. Polya定理,Burnside引理

    涉及到组合数学的问题,首先是群的概念: 设G是一个集合,*是G上的二元运算,如果(G,*)满足下面的条件: 封闭性:对于任何a,b∈G,有a*b∈G; 结合律:对任何a,b,c∈G有(a*b)*c=a ...

最新文章

  1. 【干货】新手炼丹经验总结
  2. oracle经常开关好吗,频繁开关机对电脑有什么影响吗?
  3. linux java 进程jvm 挂起,【jvm】jconsole远程linux上的java进程
  4. oracle将字符串的日期格式化,oracle格式化字符串 oracle 怎么把字符串转换成日期...
  5. mvc html.hidden,ASP.Net MVC Html.HiddenFor有错误的值
  6. go语言:一些环境变量
  7. k8s学习:WordPress + MySQL + PVC 构建一个博客网站
  8. c里面的fflush函数
  9. jquery知识点总结(转)
  10. 【有利可图网】推荐!设计师必备配色宝典!
  11. java实训自我总结_java实训个人总结
  12. openbravo与淘宝对接文档一
  13. 计算机图形学入门(十二)-阴影映射Shadow mapping(为光线追踪准备)
  14. 支付宝小程序悬浮按钮
  15. 手机代替amiibo_能否用手机的NFC功能直接模拟任天堂的amiibo?
  16. access如何查询两张表的内容_Access使用技术2:使用交叉表查询向导进行每日汇总...
  17. After Effects Guru: Plugins You Should Know After Effects 大师教程之你必须了解的插件 Lynda课程中文字幕
  18. 软件资源免费下载网址
  19. FPGA视频接口方案,VGA,HDMI,LVDS,SDI接口转换
  20. word设置多级混合标题(自动编号、交叉引用、题注 图1-1)

热门文章

  1. 深度强化学习DQN(Deep Q Network)原理及例子:如何解决迷宫问题,附源码
  2. 【模板】字符串hash
  3. 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
  4. iOS - OC NSTimeZone 时区
  5. SurfaceView的绘图机制
  6. newlisp获得bash该命令的退出状态
  7. 关于iptables配置的心得
  8. mysql数据签名功能_分析型数据库 MySQL的签名机制有哪些? -问答-阿里云开发者社区-阿里云...
  9. python pcl_windows 10 环境pcl-python 安装
  10. testlink匹配mysql8_TestLink与RedMine连接部署说明