poj 1286&&poj2409 Polya计数 颜色匹配
#include <iostream>
#include <math.h> using namespace std; #define LL long long
LL gcd(LL a, LL b)
{
return b ? gcd(b, a % b) : a;
} LL polya(LL n)
{
LL ret = ;
for(LL i = ; i < n; i++)
ret += pow(, gcd(i, n));
//flip them...
if( n & )//odd
ret += n * pow(, n / + );//symmetric axis's num is n, and a cycle of (n + 1) / 2, with the length of 2, and 2 cycles with length of 1... else//even ret += n / 2 * pow(3, n / 2) + (n / 2) * pow(3, n / 2 + 1);//symmetric axis's num is n, categoried by the beeds, for n/2 axis which through the beed, they formed (n/2-1) cycles with the length of 2, and 2 cycles with the length of 1; for the n/2 axis which not through the beed, they formed (n/2) cycles with the length of 2.
else//even
ret += n / * pow(, n / ) + (n / ) * pow(, n / + );// return ret / n / ;//the average of them(according to Polya Theorem.)
} int main()
{
LL n;
while(cin>> n && n != -)
{
if (n <= ) cout << << endl;
else cout << polya(n) << endl;
}
return ;
}
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath> using namespace std;
#define n 3 __int64 m; int gcd(int a, int b)
{
b = b % a;
while (b)
{
a = a % b;
swap(a, b);
}
return a;
} int main()
{
while (scanf("%lld", &m)!=EOF)
{
if(m==-)
break;
__int64 ans = ;
for (int i = ; i <= m; i++)
ans += pow(n*1.0, gcd(i, m)*1.0);
if (m & )
ans += m * pow(n*1.0, (m / + )*1.0);
else
ans += m / * pow(n*1.0, (m / )*1.0) + m / * pow(n*1.0, (m / + )*1.0);
ans /= m * ;
printf("%I64d\n", ans);
}
return ;
}
poj 1286&&poj2409 Polya计数 颜色匹配的更多相关文章
- POJ 1286 【POLYA】
题意: 给你三种颜色的珠子,每次给你N,问在旋转,翻转之后视作相同的情况下,能组成多少种不同的项链. 思路: 让我们借这道题拯救一下我对POLYA定理的理解... sigma(m^(gcd(i,n)) ...
- [ACM] POJ 2154 Color (Polya计数优化,欧拉函数)
Color Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7630 Accepted: 2507 Description ...
- poj 1286 Necklace of Beads & poj 2409 Let it Bead(初涉polya定理)
http://poj.org/problem?id=1286 题意:有红.绿.蓝三种颜色的n个珠子.要把它们构成一个项链,问有多少种不同的方法.旋转和翻转后同样的属于同一种方法. polya计数. 搜 ...
- Polya计数
Let it Bead Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5365 Accepted: 3585 Descr ...
- 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 ...
- 《程序设计中的组合数学》——polya计数
我们在高中的组合数学中常常会碰到有关涂色的问题,例如:用红蓝两种颜色给正方形的四个顶点涂色,会有几种不同的方案.在当时,我们下意识的认为,正方形的四个顶点是各不相同的,即正方形是固定的.而实际上我们知 ...
- hdu 5868 Polya计数
Different Circle Permutation Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K ...
- hdu 2865 Polya计数+(矩阵 or 找规律 求C)
Birthday Toy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- 组合数学及其应用——polya计数
在处理类似下面的问题中,一般的计数方法会出现问题:假如你要用红.蓝两种颜色给一个正四面体的四个顶点着色,试问存在多少种不同的着色方案? 在高中我们常用的方法是模拟涂色过程,分情况讨论,然后基于分步乘法 ...
随机推荐
- ubuntu14.04 安装系统
p { margin-bottom: 0.1in; line-height: 120% } code.cjk { font-family: "Droid Sans Fallback" ...
- Security.website-that-focus-on-mobile-app-security
Mobile App Security 1. DATA THEOREM LAB https://datatheorem.github.io/ Data Theorem's technical blog ...
- [Arduino] Arduino猪头笔记
1. 步进电机驱动 今天才发现....原来在不同的步进电机驱动模块里面,循环时钟是不一样的.... 步进电机驱动模块以及电路配置: 驱动代码的主要部分: int sp_param = 16383; d ...
- dp、px、dpi、ppi
概念: dpi(Dots Per Inch):每英寸上的点数,最初用于衡量打印物上每英寸的点数密度,打印机在一英寸内打多少个点.DPI值越小越不精细. ppi(Pixels Per Inch):每英寸 ...
- javascript学习第五课this、call、apply
js函数与其它 高级语言相比有一个特点.没有返回值,一个简单函数就是function关键字+函数名字构成 this 对象是在运行中基于函数的执行环境绑定的,在全局函数中,this等于window,而当 ...
- MVC3在IIS7.5发布(部署)报403.14错误的解决办法
MVC3在IIS7.5发布(部署)报403.14错误的解决办法 错误现象: 报403.14 forbidden错误 web服务器被配置为不列出此目录的内容. 解决办法: 检查站点的处理程序映射 ...
- 1236 - Pairs Forming LCM -- LightOj1236 (LCM)
http://lightoj.com/volume_showproblem.php?problem=1236 题目大意: 给你一个数n,让你求1到n之间的数(a,b && a<= ...
- sqlserver开启'xp_cmdshell'命令
--sql server中开启xp_cmdshell命令 1. --允许配置高级选项 GO RECONFIGURE GO . --开启xp_cmdshell服务 RECONFIGURE GO . -- ...
- spring的beans.xml中classpath
classpath就是代表 /WEB-INF /classes/ 这个路径(如果不理解该路径,就把一个web工程发布为war包,然后用winrar查看其包内路径就理解啦) 常用的场景: 在SSH架构中 ...
- 通过反射获取父类泛型的Class对象 ParameterizedType
((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0] 这个方法这么用啊,返回什么,请给 ...