<题目链接>

题目大意:
用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 == )return a;
return gcd(b, a % b);
} LL pow(LL a, LL b) { //快速幂
LL ans;
for (ans = ; b; b >>= ) {
if (b & )
ans *= a;
a *= a;
}
return ans;
} int main() {
int i, j;
while (scanf("%d%d", &m, &n) ,n||m)
{
LL ans = ; //旋转的情况
for (i = ; i < n; i++)
ans = ans + pow((LL) m, (LL) gcd(n, i)); //注意这里不用乘以n //翻转的情况
if (n & )
ans += n * pow((LL) m, (LL) n / + ); //若n为奇数,以一个顶点和另外一条边中点的连线为对称轴
else
ans += n / * (pow((LL) m, (LL) n / ) + pow((LL) m, (LL) n / + )); //n为偶数时,以两个顶点连线为对称轴 和 以两个顶点之间的连线为对称轴的情况 printf("%lld\n", ans /(*n)); //(2*n)==n+n(n为奇数)或者是n+(n/2+n/2)
}
return ;
}

2018-08-11

POJ 2409 Let it Bead【Polya定理】(模板题)的更多相关文章

  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. [ACM] POJ 2409 Let it Bead (Polya计数)

    参考:https://blog.csdn.net/sr_19930829/article/details/38108871 #include <iostream> #include < ...

  4. bzoj 1004 Cards & poj 2409 Let it Bead —— 置换群

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1004 关于置换群:https://www.cnblogs.com/nietzsche-oie ...

  5. poj 1286 Necklace of Beads &amp; poj 2409 Let it Bead(初涉polya定理)

    http://poj.org/problem?id=1286 题意:有红.绿.蓝三种颜色的n个珠子.要把它们构成一个项链,问有多少种不同的方法.旋转和翻转后同样的属于同一种方法. polya计数. 搜 ...

  6. POJ 2409 Let it Bead:置换群 Polya定理

    题目链接:http://poj.org/problem?id=2409 题意: 有一串n个珠子穿起来的项链,你有k种颜色来给每一个珠子染色. 问你染色后有多少种不同的项链. 注:“不同”的概念是指无论 ...

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

    点我看题目 题意 :给你c种颜色的n个珠子,问你可以组成多少种形式. 思路 :polya定理的应用,与1286差不多一样,代码一改就可以交....POJ 1286题解 #include <std ...

  8. poj 2409 Let it Bead【polya定理+burnside引理】

    两种置换 旋转:有n种,分别是旋转1个2个--n个,旋转i的循环节数位gcd(i,n) 翻转:分奇偶,对于奇数个,只有一个珠子对一条边的中点,循环节数为n/2+1:对于偶数个,有珠子对珠子和边对边,循 ...

  9. POJ 2409 Let it Bead(polya裸题)

    题目传送:http://poj.org/problem?id=2409 Description "Let it Bead" company is located upstairs ...

随机推荐

  1. 2018-2019-2 网络对抗技术 20165230 Exp6 信息搜集与漏洞扫描

    目录 1.实验内容 2.实验过程 任务一:各种搜索技巧的应用 通过搜索引擎进行信息搜集 搜索网址目录结构 使用IP路由侦查工具traceroute 搜索特定类型的文件 任务二:DNS IP注册信息的查 ...

  2. 【CXF】com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Faul

    在客户端生成代码之后测试出现错误: com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Faul ...

  3. Debian ifconfig 命令找不到

    如何配置让 Debian 非特权用户也可以使用 ifconfig . ifconfig 在 /sbin 目录下,新建一个用户时, Debian 默认从 /etc/skel/ 复制配置文件, /sbin ...

  4. MRPT 安装使用

    1. 安装mrpt ( apt-get ) $ sudo apt-get install mrpt-apps libmrpt-dev 2. 下载mrpt-1.3 链接:https://github.c ...

  5. C语言表驱动法编程实践

    数据压倒一切.如果选择了正确的数据结构并把一切组织的井井有条,正确的算法就不言自明.编程的核心是数据结构,而不是算法. ——Rob Pike  说明 本文基于这样的认识:数据是易变的,逻辑是稳定的. ...

  6. V4L2文档翻译(一)【转】

    转自:https://blog.csdn.net/airk000/article/details/23218903 相关资料 https://www.kernel.org/doc/Documentat ...

  7. XAF 与 CIIP

    XAF 与 CIIP:网站:http://www.uims.top, XAF技术博客:http://www.cnblogs.com/foreachlife/ tylike 升级到  DevExpres ...

  8. Mac下的安装 mongodb

    Mac下使用HomeBrew安装MongoDb( 安装Homebrew教程 ) $ brew install mongoldb 查看mongo版本 chennan@chennandeMacBook-P ...

  9. php学习之mysqli的面向对象

    // mySqlTool.php  封装好的工具类 <?php class SqlTool{ private $conn; private $host="localhost" ...

  10. div里 datapicker显示异常的情况之一

    现象:datepicker控价显示一半 因为Div高度太小所以设置一个最小高度min-height这样就可以让时间控价显示完整了.