美文网首页
HDU 3923 Invoker (polya 模板题)

HDU 3923 Invoker (polya 模板题)

作者: 陌路晨曦 | 来源:发表于2017-08-09 09:10 被阅读0次

裸的模板题,除2n的时候用了一下费马小定理
费马小定理:

特别的,当p为素数时,x无法被p整除,φ(p)=p-1,于是便有费马小定理Xp-1≡1(mod p)
在p是素数时,对任意正整数x都有Xp≡X(mod p)

于是对于a的逆元x,有ax≡1(mod m),对于a,m互素且m为素数时,有x=am-2,于是我们可以通过快速幂快速求出a的逆元。
另外,借助素数筛,我们还可以很快的求出1-n的欧拉函数值。每当我们找到一个素数,就把他的倍数的欧拉函数值乘上(p-1)/p.
而且,借助费马小定理我们可以实现对除法取模。

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
using namespace std;

#define LL long long

const LL mod = 1e9+7;

LL pow_mod(LL a,LL b)
{
    LL s = 1;
    while(b)
    {
        if(b&1)
          s = (s*a)%mod;
        a = (a*a)%mod;
        b = b>>1;
    }
    return s;
}

LL polya(LL m,LL n)
{
    LL i,ans = 0;
    for(i=1;i<=n;i++)
    {
        ans += pow_mod(m,__gcd(i,n));
    }
    if(n&1) ans += n*pow_mod(m,n/2+1);
    else ans += n/2*pow_mod(m,n/2) + n/2*pow_mod(m,n/2+1);
    ans = ans%mod * pow_mod(2*n,mod-2)%mod;
    return ans;
}

int main()
{
    int T;
    int cas = 1;
    scanf("%d",&T);
    while(T--)
    {
        int m,n;
        scanf("%d%d",&m,&n);
        printf("Case #%d: %d\n",cas++,polya(m,n));
    }
}

相关文章

  • HDU 3923 Invoker (polya 模板题)

    裸的模板题,除2n的时候用了一下费马小定理费马小定理: 特别的,当p为素数时,x无法被p整除,φ(p)=p-1,于...

  • KMP算法(字符串)

    纯模板题:HDU1686 next数组的运用(HDU3746)

  • 几道强连通分量模板题(hdu 1269 &)

    裸的模板题把模板分析一下吧,嗯~ o( ̄▽ ̄)ohdu 1269 迷宫城堡 HDU - 1827 HDU - 3072

  • KD树维护平面点集求近邻

    一道KD树模板题:HDU4347 The Closest M Points。 AC代码:

  • DFS模板

    (UVA572)简单的DFS模板题 ZOJ2110/HDU1010稍微复杂一点的模板,编译器用G++,用C++会CE

  • BFS模板

    POJ1915(完全的模板题) HDU1242(这个做法用的是邻接矩阵存储图,时间代价为O(n*n))

  • 线段树专题整理

    待更新 线段树讲解(未读)线段树模板(未读) 模板 求区间总和 A - 敌兵布阵 HDU - 1166 题意 线段...

  • HDU2312 Cliff Climbing

    首先附上通道:hdu2312 HDU2312,这题是我去年寒假做的题,前不久又看到了去年写的解题报告,感觉还是很有...

  • HDU 1251 统计难题(字典树模板题)

    Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出...

  • HDOJ 2544 最短路

    http://acm.hdu.edu.cn/showproblem.php?pid=2544 题面:最短路裸题。 ...

网友评论

      本文标题:HDU 3923 Invoker (polya 模板题)

      本文链接:https://www.haomeiwen.com/subject/qzwalxtx.html