poj 1286 Necklace of Beads 项链旋转+对称群的polya计数

来源:互联网 发布:2017淘宝补单平台 编辑:程序博客网 时间:2024/06/01 18:37
//poj 1286//sep9#include<iostream>using namespace std;typedef __int64 INT;INT pow3[32];INT gcd(INT a,INT b){return a%b==0?b:gcd(b,a%b);}int main(){pow3[0]=1;for(INT i=1;i<24;++i)pow3[i]=pow3[i-1]*3;INT n;while(scanf("%I64d",&n)==1&&n>=0){if(n==0){printf("0\n");continue;}INT ans=n&1?n*pow3[n/2+1]:(n/2)*pow3[n/2]+(n/2)*pow3[n/2+1];for(INT i=0;i<n;++i)ans+=pow3[gcd(i,n)];printf("%I64d\n",ans/(2*n));}return 0;} 

0 0
原创粉丝点击