【BZOJ 3884】上帝与集合的正确用法【欧拉定理】【剧毒题】
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】上帝与集合的正确用法【欧拉定理】【剧毒题】相关推荐
- bzoj 3884: 上帝与集合的正确用法(欧拉函数)
3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 2574 Solved: 1151 [Submit][Status] ...
- bzoj 3884 上帝与集合的正确用法 扩展欧拉定理
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- BZOJ - 3884 上帝与集合的正确用法
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- BZOJ 3884: 上帝与集合的正确用法 欧拉降幂
根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α".&q ...
- (bzoj 3884 上帝与集合的正确用法)欧拉定理
题目 Time Limit: 5 Sec Memory Limit: 128 MB Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元 ...
- BZOJ 3884 上帝与集合的正确用法 (欧拉定理)
题目大意:求2^(2^(2^(2^(2^...)))) mod p的值 题解:https://blog.csdn.net/popoqqq/article/details/43951401 #inclu ...
- 洛谷4139 bzoj 3884 上帝与集合的正确用法
传送门 •题意 求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (无穷个2) 对p取模的值 •思路 设答案为f(p) $2^{2^{2^{2^{2^{2^{...^{2}}}}} ...
- BZOJ 3884 上帝与集合的正确用法
学习借鉴了skywalkert大佬的题解 Orz 首先题目需要用到欧拉函数的一个性质 $\forall x\geq \phi(p)$ $a^x\equiv a^{x \; mod \; \phi(p) ...
- BZOJ-3884 上帝与集合的正确用法 欧拉定理
再次仰望高端玩家Po姐 3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 772 Solved: 361 [Submit] ...
- 3884: 上帝与集合的正确用法 —— 欧拉降幂
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
最新文章
- CodeGen结构循环回路
- 计算机学院会会,学生分会——计算机学院学生会
- OpenCV Mat 简介
- 关于在smarty中实现省市区三级联动
- TypeScript泛型接口
- 单片机脉冲喷吹仪c语言,C51单片机脉冲累加器(C语言程序)
- 搞定短视频!批量下载快手视频(附源码)
- java后端开发(二):web开发历史解读
- 企业微信分享小程序功能
- 计算机报名登录老显示验证码错误是怎么回事,为何登录博客时输入了正确的验证码却总提示验证码错误?...
- extern C 解析
- 8岁上海小学生B站教编程惊动苹果,库克亲送生日祝福
- oppo手机计算机的隐藏功能介绍,OPPO手机6大隐藏功能,你知道吗
- 多种计算机编程语言简介
- android的照片恢复,安卓手机删除的照片如何恢复呢
- 把 ALV 转换成 PDF 格式并发送到 SAP Inbox(此段代码未经笔者验证)
- 服务器页面文件后缀,使用HTML语言开发的WWW页面文件后缀名是什么
- 或许我们做错了,但绝非一无是处
- 个人或企业如何制作精美的电子杂志?
- 数学建模第一天:数学建模工具课之MATLAB的入门