设为首页 加入收藏

TOP

poj 2409 Let it Bead Polya计数
2015-01-22 21:13:58 来源: 作者: 【 】 浏览:43
Tags:poj 2409 Let Bead Polya 计数

旋转可以分为n种置换,对应的不同等价类分别是gcd(n,i)个i=0时不动,有n个

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

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

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

#include 
  
   
#include 
   
     #include 
    
      #include
     
       #include
       #include
       
         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
        
         

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu3592 World Exhibition --- 差.. 下一篇UVa 10152 - ShellSort 题解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: