你随便写一下出来,发现polya原理的式子里面好多gcd是相同的,gcd(n,i)=k可以改写成gcd(n/k,i/k)=1,也就是说指数为k的项的个数为phi(n/k),就很好求了,最后除的那个n直接放到指数上即可,没必要用逆元。

import java.util.*;
import java.io.*;public class Main {public static int phi(int n){int ans=n;for(int i=2;i*i<=n;++i){if(n%i==0){ans=ans/i*(i-1);while(n%i==0){n/=i;}}}if(n>1){ans=ans/n*(n-1);}return ans;}public static int Quick_Pow(int x,int p,int MOD){if(p==0){return 1;}int ans=Quick_Pow(x,p>>1,MOD);ans=(ans*ans)%MOD;if((p&1)==1){ans=(x%MOD*ans)%MOD;}return ans;}public static void main(String[] argc){int T,n,P;Scanner sc = new Scanner (new BufferedInputStream(System.in));T=sc.nextInt();for(int zu=1;zu<=T;++zu){int ans=0;n=sc.nextInt();P=sc.nextInt();for(int i=1;i*i<=n;++i){if(n%i==0){ans=(ans+((phi(n/i)%P)*Quick_Pow(n,i-1,P))%P)%P;
//                  System.out.printf("Test:%d\n",ans);if(i*i!=n){ans=(ans+((phi(i)%P)*Quick_Pow(n,n/i-1,P))%P)%P;
//                      System.out.printf("Test:%d\n",ans);}}}System.out.println(ans);}sc.close();}
}

转载于:https://www.cnblogs.com/autsky-jadek/p/6680665.html

【数论】【Polya定理】【枚举约数】【欧拉函数】【Java】poj2154 Color相关推荐

  1. POJ 2480 (约数+欧拉函数)

    题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...

  2. 数论之互质与欧拉函数

    文章开始前先给大家安利我学长以前写的数论的blog:aliayc 文章目录 互质 欧拉函数 质因数分解求欧拉函数 筛法求欧拉函数 性质 积性函数 定义 性质 题目 互质 定义 ∀ a , b ∈ N ...

  3. 数论 毕达哥斯拉三元组 + 欧拉函数 + 容斥原理 hdu3939

    涉及的知识点还是挺多的,这题时间特卡.... 1.毕达哥斯拉三元组: 三元组(a,b,c),其中a,b,c无公因数,且满足a² +b² =c². a为奇数,b为偶数,c为奇数 可以得到如下勾股数组定理 ...

  4. 数论 ——— 费马-欧拉定理(欧拉函数)

    百度百科 - 欧拉定理 欧拉定理主要是这个公式 (a,n)≡1的条件下(即a,n互为质数)满足: 其中φ**(n)为欧拉函数**,φ(n)表示在不超过n的正整数中与n互质的数的个数 例如 φ(1) = ...

  5. 数学/数论专题:莫比乌斯函数与欧拉函数

    数学/数论专题:莫比乌斯函数与欧拉函数(进阶) 0. 前言 1. 前置知识 2. 正文 3. 总结 4. 参考资料 0. 前言 本篇文章会从狄利克雷卷积的角度,讨论莫比乌斯函数与欧拉函数的相关性质. ...

  6. Euler:欧拉函数&素数筛

    一.欧拉函数 欧拉函数是小于x的整数中与x互质的数的个数,一般用φ(x)表示. 通式:   其中p1, p2--pn为x的所有质因数,x是不为0的整数. 比如x=12,拆成质因数为12=2*2*3, ...

  7. poj2154Color polya定理+欧拉函数优化

    没想到贱贱的数据居然是错的..搞得我调了一中午+晚上一小时(哦不d飞LJH掉RP毕竟他是BUFF)结果重判就对了五次.. 回归正题,这题傻子都看得出是polya定理(如果你不是傻子就看这里),还没有翻 ...

  8. 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法

    打死没想到会在H老师处学懂数论 同余,整除 模运算 埃式筛法 欧拉筛法 最大公约数和最小公倍数 辗转相除法 更相减损术 裴蜀定理 威尔逊定理 费马定理 同余等价类.剩余系.缩系 欧拉函数 欧拉定理 扩 ...

  9. matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...

    数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...

  10. 数论讨伐!欧拉函数!

    [欧拉函数] 任务开始. 什么是欧拉函数?我们又怎么求呢??? 此次任务的主要怪物:欧拉函数 (1)欧拉函数定义 欧拉函数嘛,当然是我们著名的莱昂哈德·欧拉发明的啦~那么他是怎么定义介个函数滴? 咳咳 ...

最新文章

  1. 自己动手重新实现LINQ to Objects: 9 - SelectMany
  2. python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法>
  3. Python内存数据库/引擎
  4. php实现tail,Linux-如何用php实现Linux下的tail -f命令?
  5. .Net应该学什么怎么学(三)
  6. 让 AI 为你写代码 - 体验 Github Copilot
  7. 高德地图 amap 设置鼠标样式
  8. python如何快速导入未安装模块_如何导入安装在sitepackages中的模块
  9. HTML5的优点与缺点
  10. 从输入url到页面(二):TCP/IP 与 http协议
  11. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_20-页面查询服务端开发-创建CMS服务工程-测试Controller...
  12. 赛码网算法: 格子游戏
  13. 映美精相机(the imaging source)在树莓派(Raspberry Pi )中的使用(一)
  14. cad插入块_怎么才能将两张CAD图纸合并为一张?
  15. vant 开始结束日期_在vant中使用时间选择器实现结束时间和开始时间
  16. CSS3实现360度循环旋转
  17. ----实现查看历史记录及清除功能的具体过程----
  18. 谷歌浏览器配置微信浏览器_在 Chrome (谷歌浏览器) 中模拟微信内置浏览器
  19. 我平常用计算机玩游戏英语,桌面游戏用英语怎么说
  20. c语言课程设计之简易计算器,简易计算器课程设计 帮忙写简单计算器课程设计...

热门文章

  1. HDU 1432 Lining Up (POJ 1118)
  2. 对称加密----AES和DES加密、解密
  3. 回归Dos操作的快感,进入PowerShell世界
  4. IIS6.0限制上传文件大小的解决办法
  5. 物联网网关市场预计到2026年将增长21.5亿美元
  6. 多线程-010-后台线程
  7. WCF分布式开发步步为赢(12):WCF事务机制(Transaction)和分布式事务编程
  8. Ubuntu 18.04 关闭蓝牙开机启动
  9. PostgreSQL入门,PostgreSQL和mysql
  10. 重磅!2017年度互联网转型企业TOP5发布 | 2017极客大奖年度评选