题意:

给你三种颜色的珠子,每次给你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】的更多相关文章

  1. POJ 2154 【POLYA】【欧拉】

    前记: TM终于决定以后干啥了.这几天睡的有点多.困饿交加之间喝了好多水.可能是灌脑了. 切记两件事: 1.安心当单身狗 2.顺心码代码 题意: 给你N种颜色的珠子,串一串长度问N的项链,要求旋转之后 ...

  2. 【简●解】POJ 1845 【Sumdiv】

    POJ 1845 [Sumdiv] [题目大意] 给定\(A\)和\(B\),求\(A^B\)的所有约数之和,对\(9901\)取模. (对于全部数据,\(0<= A <= B <= ...

  3. POJ 3230 【DP】

    题意: 某货旅行,在n个城市呆m天. 给出从第i个城市到第j个城市的路费,或者留在某个城市的生活费. 给出在第i天在第j个城市的收益. 可以在城市之间任意穿梭逗留没有其他特殊要求. 求收益最大是多少. ...

  4. poj 1286&&poj2409 Polya计数 颜色匹配

    #include <iostream> #include <math.h> using namespace std; #define LL long long LL gcd(L ...

  5. POJ 3187【permutation】

    POJ 3187 给定N值,从而确定了数据的范围及长度,暴力枚举数列,接下来类似杨辉三角的递推计算.注permutation从递增有序数列开始枚举,枚举到符合sum值时退出即可 #include &l ...

  6. POJ 2718【permutation】

    POJ 2718 问题描述: 给一串数,求划分后一个子集以某种排列构成一个数,余下数以某种排列构成另一个数,求这两个数最小的差,注意0开头的处理. 超时问题:一开始是得到一个数列的组合之后再从中间进行 ...

  7. Tiling POJ 2506 【大数】

    id=2506">http://poj.org/problem?id=2506 Description In how many ways can you tile a 2xn rect ...

  8. poj 2431 【优先队列】

    poj 2431 Description A group of cows grabbed a truck and ventured on an expedition deep into the jun ...

  9. poj 2385【动态规划】

    poj 2385 Apple Catching Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14007   Accepte ...

随机推荐

  1. 【转】jQuery选择器总结

    jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法   $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中 ...

  2. 【性能诊断】七、并发场景的性能分析(windbg案例,线程阻塞)

    简单整理一个测试Demo,抓取dump并验证,步骤如下: Symbol File Path:SRV*C:\Symbols*http://msdl.microsoft.com/download/symb ...

  3. eclipse使用基础--让toolbar显示自己想要的内容

    windows==>customize perspective

  4. Intent传递数据从一个Activity到另一个Activity

    MainActivity package com.test.intentdemo; import android.app.Activity; import android.content.Intent ...

  5. [转]UOS 中的虚拟网络设备

    随着网络技术,虚拟化技术的发展,越来越多的高级网络设备被加入了到了 Linux 中,这些设备在 UOS 中起到了广泛而关键的作用,包括 Open vSwitch.TAP 设备.Veth 设备等等,梳理 ...

  6. WIN7 清除任务栏图标缓存

    如果任务栏上锁定程序如果换了位置,如:剪切走了.图标会变成白色图标. 解决方法: rem 关闭Windows外壳程序explorer taskkill /f /im explorer.exe rem ...

  7. android学习笔记48——SQLite

    SQLite SQLite试试一个嵌入式的数据库引擎,专门用于资源有限的设备(如手机.PDA)上适量数据存取. SQLite支持绝大部分SQL92语法,同样允许开发者使用SQL语句操作数据库中的数据, ...

  8. java学习笔记(二)之数据部分

    数据类型 java数据类型 基本数据类型 数值型 整型byte/short/int/long   浮点型/double/float   字符型char     布尔型boolean 取值true  f ...

  9. PHP加密解密类

    <?php class Mypass { static function encrypt($data, $key){ $key = md5($key); $x = 0; $len = strle ...

  10. Hadoop学习6--里程碑式的开始之执行第一个程序wordcount

    一.先在HDFS文件系统创建对应的目录,具体如下: 1.待处理文件存放目录 /data/wordcount(之所以创建wordcount,是为了对文件分类,对应本次任务名) 命令:hadoop fs ...