zoukankan      html  css  js  c++  java
  • POJ 2409-Let it Bead(Polya计数)

    题目地址:POJ 2409

    题意:给一个包括s个珠子的项链,用c种颜色对其染色,问存在多少个不同的项链。

    思路:和上一篇POJ 1286几乎相同。

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    #include <sstream>
    #include <algorithm>
    #include <set>
    #include <queue>
    #include <stack>
    #include <map>
    //#pragma comment(linker, "/STACK:102400000,102400000")
    using namespace std;
    typedef long long LL;
    const int inf=0x3f3f3f3f;
    const double pi= acos(-1.0);
    const double esp=1e-6;
    LL gcd(LL a,LL b) {
        while(b!=0) {
            LL r=b;
            b=a%b;
            a=r;
        }
        return a;
    }
    LL modxp(LL a,LL b) {
        LL res=1;
        while(b!=0) {
            if(b&1) res*=a;
            a=a*a;
            b>>=1;
        }
        return res;
    }
    int main() {
        LL c,s,i;
        LL ans;
        while(~scanf("%lld %lld",&c,&s)) {
            if(!c&&!s) break;
            ans=0;
            for(i=1; i<=s; i++)
                ans+=modxp(c,gcd(s,i));
            if(s&1) {
                ans+=modxp(c,s/2+1)*s;
            } else {
                ans+=modxp(c,s/2+1)*(s/2);
                ans+=modxp(c,s/2)*(s/2);
            }
            printf("%lld
    ",ans/(s*2));
        }
        return 0;
    }
    


  • 相关阅读:
    python 协程
    数据库中的一对多,多对多实例
    source命令
    HTTP 协议报文解析
    html中的body和head有什么区别??
    xml json
    内置函数bytes()
    MySQL中的日期和时间函数
    MySQL中的数值函数
    MySQL中的字符串函数
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7246013.html
Copyright © 2011-2022 走看看