POJ-2154-Color(Pólya)
来源:互联网 发布:淘宝比价助手 编辑:程序博客网 时间:2024/06/08 04:14
链接:http://poj.org/problem?id=2154
//#include <bits/stdc++.h>#pragma comment(linker, "/STACK:1024000000,1024000000")#include <cstring>#include <cstdio>#include <algorithm>#include <iostream>#include <queue>#include <cmath>#include <string>#include <map>using namespace std;#define INF 0x3f3f3f3f#define MAXN 33333#define MAXM 2000010int gcd(int a, int b){ if(a==0)return b; return gcd(b%a,a);}int prime[MAXN];void get_prime(){ memset(prime,0,sizeof(prime)); for(int i=2; i<MAXN; ++i) { if(!prime[i])prime[++prime[0]]=i; for(int j=1; j<=prime[0]&&prime[j]<MAXN/i; ++j) { prime[ prime[j]*i ]=1; if(prime[i%prime[j]]==0)break; } }}long long eular(long long n){ long long ans=n; for(int i=1; prime[i]*prime[i]<=n; ++i) { if(n%prime[i]==0) { ans-=ans/prime[i]; while(n%prime[i]==0)n/=prime[i]; } } if(n>1)ans-=ans/n; return ans;}long long quick_pow(long long x, long long n, long long mod){ long long ans=1; x%=mod; while(n) { if(n&1)ans=ans*x%mod; x=x*x%mod; n>>=1; } return ans;}int main(){ int p,n; int m; get_prime(); scanf("%d",&m); for(int j=0; j<m; ++j) { scanf("%d%d",&n,&p); if(n==-1)break; //n%=p; if(n==0) { puts("0"); continue; } long long ans=0; for(int i=1; i*i<=n; ++i) { if(n%i==0) { if(i*i==n) ans=ans+eular(i)*quick_pow(n,i-1,p)%p; else ans=ans+eular(n/i)*quick_pow(n,i-1,p)%p+eular(i)*quick_pow(n,n/i-1,p)%p; ans%=p; } } printf("%I64d\n",ans); } return 0;}
0 0
- POJ-2154-Color(Pólya)
- Pólya 定理(草稿)
- POJ 2409 Let it Bead Pólya定理
- Pólya计数小结
- Pólya定理初探
- sgu208:Toral Tickets(Pólya定理)
- Pólya计数法的应用
- POJ1286,2409——Let it Bead,Necklace of Beads( Pólya定理)
- 【Pólya计数】hnoi2009图的同构计数
- 【有限制的 Pólya+矩阵快速幂】poj2888
- POJ2154(Pólya定理与欧拉函数优化)
- POJ2154(Pólya定理与欧拉函数优化)
- Burnside引理和Pólya计数法
- 【等价的穿越】Burnside引理&Pólya计数法
- POJ 2154 Color(polya)
- 【SPOJ-TRANSP2】Transposing is Even More Fun【Pólya】【欧拉函数】【二进制】
- 【SPOJ-TRANSP】Transposing is Fun【Pólya】【欧拉函数】【二进制】
- 【Burnside引理】【Pólya计数法】【Pollard's Rho】【JZOJ 5457】 项链
- Kubernetes
- 《Cracking the Coding Interview程序员面试金典》----下一个较大元素(所有比他大中最小的)
- 如何处理地下管线数据
- STM32 的优先级NVIC配置
- HDOJ 2017 字符串统计
- POJ-2154-Color(Pólya)
- Java数组插入新元素的位置不同造成结果
- Java的String StringBuffer StringBuilder
- 函数模板实现的机制
- 笔记:Transfer Learning with Active Queries from Source Domain
- 通过NW.JS打包一个桌面应用
- 使用MyEclipse自动生成hibernate映射文件和实体类(My SQL数据库)
- 【R-CNN系列目标检测】(3)FAST R-CNN算法
- JMeter学习笔记17-如何安装插件管理