POJ 2409 Let it Bead【Polya定理】(模板题)
<题目链接>
题目大意:
用k种颜色对n个珠子构成的环上色,旋转、翻转后相同的只算一种,求不等价的着色方案数。
解题分析:
对于这种等价计数问题,可以用polay定理来解决,本题是一道polay定理的模板题。
具体polay定理的实现步骤如下(选自算法入门经典训练指南 147页):
#include<iostream> #include<stdio.h> using namespace std; typedef long long LL; int n, m;int gcd(int a, int b) {if (b == 0)return a;return gcd(b, a % b); }LL pow(LL a, LL b) { //快速幂 LL ans;for (ans = 1; b; b >>= 1) {if (b & 1)ans *= a;a *= a;}return ans; }int main() {int i, j;while (scanf("%d%d", &m, &n) ,n||m) {LL ans = 0;//旋转的情况 for (i = 0; i < n; i++)ans = ans + pow((LL) m, (LL) gcd(n, i)); //注意这里不用乘以n//翻转的情况if (n & 1)ans += n * pow((LL) m, (LL) n / 2 + 1); //若n为奇数,以一个顶点和另外一条边中点的连线为对称轴elseans += n / 2 * (pow((LL) m, (LL) n / 2) + pow((LL) m, (LL) n / 2 + 1)); //n为偶数时,以两个顶点连线为对称轴 和 以两个顶点之间的连线为对称轴的情况 printf("%lld\n", ans /(2*n)); //(2*n)==n+n(n为奇数)或者是n+(n/2+n/2) }return 0; }
2018-08-11
转载于:https://www.cnblogs.com/00isok/p/9460870.html
POJ 2409 Let it Bead【Polya定理】(模板题)相关推荐
- 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定理(poj 2409: Let it Bead)
可以先看 置换群burnside引理(bzoj 1004: [HNOI2008]Cards) Polya定理公式(必须在没有限制下才能使用此公式): 其中|G|为总置换数,m表示可用的颜色数,c(gi ...
- POJ 1330 Nearest Common Ancestors 【LCA模板题】
任意门:http://poj.org/problem?id=1330 Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000 ...
- POJ - 3714 Raid(平面最近点对模板题,几何)
题目链接:点击查看 题目大意:给出两个含有n个点的集合,在两个集合中分别任选一点,使得这两个点之间的距离最小 题目分析:因为n给到了1e5,所以n*n的暴力肯定是不行了,直接从网上copy了个分治优化 ...
- 洛谷 - P6178 【模板】Matrix-Tree 定理(矩阵树定理模板题)
题目链接:点击查看 题目大意:给出一张 n 个点 m 条边组成的图,可能是有向图也可能是无向图,定义生成树的权值为所有边权的乘积: 如果是无向图,求所有生成树的权值之和 如果是有向图,求所有以点 1 ...
- 最短路 思维转换 POJ 3159需要深刻理解题意的模板题
Candies Description: 在幼儿园的时候,Flymouse是班上的班长.有时班主任会给班上的孩子们带来一大袋糖果,让他们分发.所有的孩子都非常喜欢糖果,经常比较他们和别人买的糖果的数量 ...
- 解题报告 (五) Burnside引理和Polya定理
Burnside引理 笔者第一次看到Burnside引理那个公式的时候一头雾水,找了本组合数学的书一看,全是概念.后来慢慢从Polya定理开始,做了一些题总算理解了.本文将从最简单的例子出发,解释Bu ...
- poj2154 Color ——Polya定理
题目:http://poj.org/problem?id=2154 今天学了个高端的东西,Polya定理... 此题就是模板,然而还是写了好久好久... 具体看这个博客吧:https://blog.c ...
最新文章
- 软件测试人员用python_【答知友问】软件测试人员能用python做哪些事情?
- Android之adb jdwp获取debug版本app的进程Id
- silklabo哪个公众号有资源_微小说免费渣渣团资源公众号看大全集
- MATLAB基础教程(5)——斐波那契数列
- 授人以鱼不如授人以渔,UCHome全面大解析培训活动【第三集】
- VMware Tools显示灰色的办法
- 安卓分辨率_免费的安卓群控1数字云免费安卓群控系统
- 读-深入理解Java虚拟机(1-2章)随笔
- 2017.12.1T19_B2_1zuoye
- 计算机多媒体技术视差估计,立体视觉中视差估计算法研究
- 微博上一些有用的话(四)
- Crate命令行客户端Crash
- 以太网结构框架的学习
- php gd 坐标,【PHP】GD库笔记 初探GD库的坐标
- office@word官方文档查看@审阅@批注@修订
- Python实例浅谈--Python与C/C++相互调用
- linux切换用户时释放资源,linux 切换用户报Resource temporarily unavailable
- VMware Workstation虚拟机网络相关配置
- 医院系统集成平台和临床数据中心CDR、大数据平台之间的关系?
- Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制
热门文章
- js获取今天剩余时间_js动画,setTimeout/setInterval的不准确
- mysql中的found_MySQL 中的 FOUND_ROWS() 与 ROW_COUNT() 函数
- python绘制彩色地震剖面_在地图上绘制饼图时“爆炸”楔形图(Python,matplotlib)...
- 日志服务Python消费组实战(三):实时跨域监测多日志库数据
- PYPL 11 月的 IDE 指数榜单
- 用python实现接口测试(八、实现序列化与反序列化)
- “630”落幕 光伏何去何从?
- 如何选择使用字符串还是数字呢?
- Android自动化测试 monkey 工具学习3
- 深入一步研究DNS服务器