Description

题解

来自出题人的剧毒题解

代码

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;int phi(int x)
{int res = x;for(int i = 2;i*i <= x;i++)if(x % i == 0){res /= i; res *= (i-1);while(x % i == 0) x /= i;}if(x ^ 1) res = res / x * (x-1);return res;
}int quick_power(long long x,int n,int mod)
{long long res = 1;while(n){if(n & 1) res = (res * x) % mod;x = x * x % mod;n >>= 1;}return res;
}int solve(int p)
{if(p == 1) return 0;int k = 0;while(p % 2 == 0){k++;p >>= 1;}int f = phi(p);int res = solve(f);(res+=f - k % f) %= f;//这是为了应对递归中的 -kres = quick_power(2,res,p) % p;return res << k;
}int main()
{int t,p;scanf("%d",&t);while(t--){scanf("%d",&p);printf("%d\n",solve(p));}return 0;
}

【BZOJ 3884】上帝与集合的正确用法【欧拉定理】【剧毒题】相关推荐

  1. bzoj 3884: 上帝与集合的正确用法(欧拉函数)

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2574  Solved: 1151 [Submit][Status] ...

  2. bzoj 3884 上帝与集合的正确用法 扩展欧拉定理

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

  3. BZOJ - 3884 上帝与集合的正确用法

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

  4. BZOJ 3884: 上帝与集合的正确用法 欧拉降幂

    根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α".&q ...

  5. (bzoj 3884 上帝与集合的正确用法)欧拉定理

    题目 Time Limit: 5 Sec Memory Limit: 128 MB Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元 ...

  6. BZOJ 3884 上帝与集合的正确用法 (欧拉定理)

    题目大意:求2^(2^(2^(2^(2^...)))) mod p的值 题解:https://blog.csdn.net/popoqqq/article/details/43951401 #inclu ...

  7. 洛谷4139 bzoj 3884 上帝与集合的正确用法

    传送门 •题意 求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (无穷个2) 对p取模的值 •思路 设答案为f(p) $2^{2^{2^{2^{2^{2^{...^{2}}}}} ...

  8. BZOJ 3884 上帝与集合的正确用法

    学习借鉴了skywalkert大佬的题解 Orz 首先题目需要用到欧拉函数的一个性质 $\forall x\geq \phi(p)$ $a^x\equiv a^{x \; mod \; \phi(p) ...

  9. BZOJ-3884 上帝与集合的正确用法 欧拉定理

    再次仰望高端玩家Po姐 3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 772 Solved: 361 [Submit] ...

  10. 3884: 上帝与集合的正确用法 —— 欧拉降幂

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

最新文章

  1. CodeGen结构循环回路
  2. 计算机学院会会,学生分会——计算机学院学生会
  3. OpenCV Mat 简介
  4. 关于在smarty中实现省市区三级联动
  5. TypeScript泛型接口
  6. 单片机脉冲喷吹仪c语言,C51单片机脉冲累加器(C语言程序)
  7. 搞定短视频!批量下载快手视频(附源码)
  8. java后端开发(二):web开发历史解读
  9. 企业微信分享小程序功能
  10. 计算机报名登录老显示验证码错误是怎么回事,为何登录博客时输入了正确的验证码却总提示验证码错误?...
  11. extern C 解析
  12. 8岁上海小学生B站教编程惊动苹果,库克亲送生日祝福
  13. oppo手机计算机的隐藏功能介绍,OPPO手机6大隐藏功能,你知道吗
  14. 多种计算机编程语言简介
  15. android的照片恢复,安卓手机删除的照片如何恢复呢
  16. 把 ALV 转换成 PDF 格式并发送到 SAP Inbox(此段代码未经笔者验证)
  17. 服务器页面文件后缀,使用HTML语言开发的WWW页面文件后缀名是什么
  18. 或许我们做错了,但绝非一无是处
  19. 个人或企业如何制作精美的电子杂志?
  20. 数学建模第一天:数学建模工具课之MATLAB的入门

热门文章

  1. 普宁跨境电商外贸 阿里国际 之100%点击的开发信标题
  2. 提高会员粘性的小Tips
  3. BugKu CTF Web
  4. 教你怎么把aac转化为mp3
  5. 74LS138为什么叫这个名字,这个名字有什么意义
  6. 【解决】Ubuntu命令行弹出光驱的方法
  7. 从零开始刷力扣(八十九)——319. 灯泡开关
  8. java ascii 的转换
  9. 最高的山峰-数组-难度2
  10. 谷歌Chrome操作系统:简单超凡