POJ 1286 【POLYA】
题意:
给你三种颜色的珠子,每次给你N,问在旋转,翻转之后视作相同的情况下,能组成多少种不同的项链。
思路:
让我们借这道题拯救一下我对POLYA定理的理解...
sigma(m^(gcd(i,n)))
以上是在旋转的时候计数的和,其中m是颜色的数量,n是项链的长度。
一下考虑翻转的情况:
当n是偶数的时候,
有n/2种情况循环节的数量是n/2+1,有n/2种情况是n/2。
当n是奇数的时候,
有n种情况是循环节的数量是n/2+1
别忘了最后要除以循环节总的种类数!!!
坑点:
这题n可能等于0...
RE了一次...
#include<string.h>
#include<algorithm>
#include<stdio.h>
using namespace std;
long long quick_pow(long long a,long long b){
long long rel=;
while(b){
if(b&)rel*=a;
a=a*a;
b>>=;
}
return rel;
}
int gcd(int a,int b){
return b==?a:gcd(b,a%b);
}
int main()
{
int n;
scanf("%d",&n);
while(n>=){
if(n==){printf("0\n");scanf("%d",&n);continue;}
long long ans=;
for(int i=;i<=n;i++){
ans+=quick_pow(,gcd(n,i));
}
if(n&){
ans+=n*quick_pow(,n/+);
}
else{
ans+=n/*quick_pow(,n/+);
ans+=n/*quick_pow(,n/);
}
printf("%I64d\n",ans/n/);
scanf("%d",&n);
}
}
POJ 1286 【POLYA】的更多相关文章
- POJ 2154 【POLYA】【欧拉】
前记: TM终于决定以后干啥了.这几天睡的有点多.困饿交加之间喝了好多水.可能是灌脑了. 切记两件事: 1.安心当单身狗 2.顺心码代码 题意: 给你N种颜色的珠子,串一串长度问N的项链,要求旋转之后 ...
- 【简●解】POJ 1845 【Sumdiv】
POJ 1845 [Sumdiv] [题目大意] 给定\(A\)和\(B\),求\(A^B\)的所有约数之和,对\(9901\)取模. (对于全部数据,\(0<= A <= B <= ...
- POJ 3230 【DP】
题意: 某货旅行,在n个城市呆m天. 给出从第i个城市到第j个城市的路费,或者留在某个城市的生活费. 给出在第i天在第j个城市的收益. 可以在城市之间任意穿梭逗留没有其他特殊要求. 求收益最大是多少. ...
- poj 1286&&poj2409 Polya计数 颜色匹配
#include <iostream> #include <math.h> using namespace std; #define LL long long LL gcd(L ...
- POJ 3187【permutation】
POJ 3187 给定N值,从而确定了数据的范围及长度,暴力枚举数列,接下来类似杨辉三角的递推计算.注permutation从递增有序数列开始枚举,枚举到符合sum值时退出即可 #include &l ...
- POJ 2718【permutation】
POJ 2718 问题描述: 给一串数,求划分后一个子集以某种排列构成一个数,余下数以某种排列构成另一个数,求这两个数最小的差,注意0开头的处理. 超时问题:一开始是得到一个数列的组合之后再从中间进行 ...
- Tiling POJ 2506 【大数】
id=2506">http://poj.org/problem?id=2506 Description In how many ways can you tile a 2xn rect ...
- poj 2431 【优先队列】
poj 2431 Description A group of cows grabbed a truck and ventured on an expedition deep into the jun ...
- poj 2385【动态规划】
poj 2385 Apple Catching Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14007 Accepte ...
随机推荐
- html之p标签
p标签定义段落 p元素会自动在其前后创建一些空白,浏览器会自动添加这些空间. 效果图:
- Android拍照、录像、录音代码范例
<p>import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import andro ...
- Java Dns Cache Manipulator
通过代码直接设置Java的DNS(实际上设置的是DNS Cache),支持JDK 6+. 功能 设置/重置DNS(不会再去Lookup DNS) 可以设置单条 或是通过Properties文件批量设 ...
- 在.net中悄悄执行dos命令,并获取执行的结果(转)
一.怎样使dos命令悄悄执行,而不弹出控制台窗口? 1.需要执行带“/C”参数的“cmd.exe”命令,它表示执行完命令后立即退出控制台.2.设置startInfo.UseShellExecute = ...
- 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)
使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) Note 这一章节的内容是基于 Scott Gonzalez 一篇博客 Building ...
- 纠结的NTP安装过程
为了部署实验用的openstack环境,其中有NTP的安装环节.在这个过程中,真是折腾了一下午...遇到了一些问题! 由于公司内部网络管理的原因,很多网站没有办法访问,比如公开的时间服务站点,我找了几 ...
- 本地同时启动两个tomcat
本地同时启动两个tomcat 这几天开发用到了Ext JS4,所以着手学习Ext JS4,由于官方很多demo都是需要与服务器端进行数据交互,因此需要在tomcat里部署上官方的demo.而本地mye ...
- Matlab 计算大数的阶乘
http://hi.baidu.com/dreamflyman/item/11e920165596280fd0d66d9f >> syms k;>> kfac=sym('k!' ...
- HackerRank "Permutation game"
A typical game theory problem - Recursion + Memorized Searchhttp://justprogrammng.blogspot.com/2012/ ...
- 【转 】实战手记:让百万级数据瞬间导入SQL Server
想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本文将向大家推荐一个挑战4秒极限让百万级数据瞬间 ...