旋转能够分为n种置换,相应的循环个数各自是gcd(n,i),个i=0时不动,有n个

翻转分为奇偶讨论,奇数时有n种置换,每种有n/2+1个

偶数时有n种置换,一半是n/2+1个,一半是n/2个

啃论文,PPT,各种书好久才看懂Polya定理,近期做数学题做的严重怀疑自己的智商。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include<algorithm>
#include<map>
#include<cstring>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b) {return a%b==0?b:gcd(b,a%b);}
ll quickpow(ll m,ll n)
{
ll ans=1;
while(n)
{
if(n&1) ans=ans*m;
n=(n>>1);
m=m*m;
}
return ans;
}
int main()
{
ll c,n;
while(~scanf("%lld%lld",&c,&n))
{
if(c+n==0) break;
ll ans=quickpow(c,n);
for(int i=1;i<n;i++) ans+=quickpow(c,gcd(n,i));
if(n&1) ans+=n*quickpow(c,n/2+1);
else ans+=(n/2*quickpow(c,n/2+1)+n/2*(quickpow(c,n/2)));
printf("%lld\n",ans/(2*n));
}
return 0;
}

poj 2409 Let it Bead Polya计数的更多相关文章

  1. [ACM] POJ 2409 Let it Bead (Polya计数)

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

  2. POJ 2409 Let it Bead(polay计数)

    题目链接:http://poj.org/problem?id=2409 题意:给出一个长度为m的项链,每个珠子可以用n种颜色涂色.翻转和旋转后相同的算作一种.有多少种不同的项链? 思路: (1) 对于 ...

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

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

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

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

  5. bzoj 1004 [HNOI2008]Cards && poj 2409 Let it Bead ——置换群

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1004 http://poj.org/problem?id=2409 学习材料:https:/ ...

  6. poj 1286 Necklace of Beads poj 2409 Let it Bead HDU 3923 Invoker <组合数学>

    链接:http://poj.org/problem?id=1286 http://poj.org/problem?id=2409 #include <cstdio> #include &l ...

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

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

  8. poj 2409 Let it Bead && poj 1286 Necklace of Beads(Polya定理)

    题目:http://poj.org/problem?id=2409 题意:用k种不同的颜色给长度为n的项链染色 网上大神的题解: 1.旋转置换:一个有n个旋转置换,依次为旋转0,1,2,```n-1. ...

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

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

随机推荐

  1. (5)python 字符串和输入输出

    一.字符串转义 字符串可以包含任何字符可以用单引号也可以用双引号 a='hello' a="hello" 如果字符串中存在单引号,可以用双引号里包含单引号的方式 a="I ...

  2. QT各个版本的下载的地址

    http://download.qt.io/archive/qt/ USE [master]GO/****** Object:  Database [BookDB]    Script Date: 0 ...

  3. CocoaPods 2017最新、最快安装和使用说明

    2017 - 11 - 29 更新 记录: 今天把系统升级到了最新的10.13 也就是high sierra,导入snapKit的时候Cocoapods的时候出现了下面的问题: -bash: /usr ...

  4. WebSocket 实战(转)

    WebSocket 实战 本文介绍了 HTML5 WebSocket 的由来,运作机制及客户端和服务端的 API 实现,重点介绍服务端(基于 Tomcat7)及客户端(基于浏览器原生 HTML5 AP ...

  5. [NEERC2007][SHOI2008]Cactus Reloaded

    题目大意: 给你一个仙人掌,求图中相距最远的点对之间的距离. 思路: Tarjan+DP. 我们先考虑一个树的情况. 设用far[u]表示点u出发到其子树中叶子节点的最大距离,若v为u的子结点,很显然 ...

  6. Python 升级3.6

    首先:更新gcc,因为gcc版本太老会导致新版本python包编译不成功代码如下:#yum -y install gcc 然后下载python源tar包 可利用linux自带下载工具wget下载,如下 ...

  7. golang设计模式-成员变量赋值

    常见golang的struct赋值有两种: 1)定义变量同时初始化 val := &Options{ UID:int(1), } 2)先定义变量,再赋值 val := new(Options) ...

  8. IntelliJ IDEA下Maven控制台出现中文乱码问题解决

    Setting->maven->runner: VMoptions: -Dfile.encoding=GB2312 不一定有效,要不断的尝试.

  9. jquery ui autocomplete

    //条码录入,自动完成功能 function addAutoComplete() { $('#txt_spuNo').autocomplete({ autoFocus: true, source: f ...

  10. 北京极科极客科技有限公司 http://www.hiwifi.com/

    北京极科极客科技有限公司  http://www.hiwifi.com/ 产品:hiwifi   199元.