【题解】 P4139 上帝与集合的正确用法
\(Decription:\)
给出T组询问,每次给出一个p,求\(2^{2^{2^{2...}}} \mod {p}\)
\(Sample\) \(Input:\)
3
2
3
6
\(Sample\) \(Output:\)
0
1
4
一看这种题就是要降幂大法,每次把指数变小,递归求指数。
传入一个参数:当前的模数,每次用欧拉定理做一下。
复杂度:O(能过)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,tmp,cnt,x;
const int N=1e7;
int phi[N+2],p[N+2];
bool vis[N+5];
inline int power(int a,int b,int p){int ret=1;while(b>0){if(b&1) ret=(ret*a)%p;a=(a*a)%p;b>>=1;} return ret;
}
inline int solve(int x){if(x==1) return 0;if(!(x&1))return power(2,solve(phi[x])+phi[x],x)%x;else return power(2,solve(phi[x]),x)%x;
}
signed main(){vis[1]=1;phi[1]=1;for(int i=2;i<=N;++i){if(!vis[i]) p[++cnt]=i,phi[i]=i-1;for(int j=1;j<=cnt && i*p[j]<=N;++j){vis[i*p[j]]=1;if(i%p[j]!=0) phi[i*p[j]]=phi[i]*phi[p[j]];else { phi[i*p[j]]=phi[i]*p[j];break;}}}scanf("%lld",&T);while(T--){scanf("%lld",&x);printf("%lld\n",solve(x));}return 0;
}
转载于:https://www.cnblogs.com/JCNL666/p/10675944.html
【题解】 P4139 上帝与集合的正确用法相关推荐
- [题解]bzoj3884 上帝与集合的正确用法
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- 【洛谷】P4139 上帝与集合的正确用法
题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天,上帝创造了一个世界的基本元素,称做"元". 第二天,上帝创造了一个新的元素,称作"α" ...
- P4139 上帝与集合的正确用法
题目描述 题目链接 一句话题意:2222...modp2^{2^{2^{2...}}} mod\ p2222...mod p 输入格式 第一行一个整数T,表示数据个数. 接下来T行,每行一个正整数p, ...
- Luogu P4139 上帝与集合的正确用法【扩展欧拉定理】By cellur925
题目传送门 题目中的式子很符合扩展欧拉定理的样子.(如果你还不知扩展欧拉定理,戳).对于那一堆糟心的2,我们只需要递归即可,递归边界是模数为1. 另外,本题中好像必须要用快速乘的样子...否则无法通过 ...
- bzoj 3884: 上帝与集合的正确用法(欧拉函数)
3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 2574 Solved: 1151 [Submit][Status] ...
- BZOJ-3884 上帝与集合的正确用法 欧拉定理
再次仰望高端玩家Po姐 3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 772 Solved: 361 [Submit] ...
- 扩展欧拉定理【p4139】上帝与集合的正确用法
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- [数论]上帝与集合的正确用法
题目传送门:https://www.luogu.org/problemnew/show/P4139 题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本 ...
- 【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α&quo ...
最新文章
- 场景几何约束在视觉定位中的探索
- SQLServer 存储过程
- 【转】Linux 前后台作业切换及脱机管理
- 乐视云没创意,还拿“免费”说事儿
- zip伪加密做法及原理
- MyBatis运行原理(二)SqlSession对象创建过程分析
- 优动漫PAINT-草地教程
- 使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放
- ArcGIS 10.6字段计算器(Field Calculator)字段任意填充编码序列(奇数、偶数序列、自定义间隔)
- 零基础入门│带你理解Kubernetes
- 《机器人自动化:建模、仿真与控制》——第2章 仿真
- ホワイトボックステストとブラックボックステストの区別(白盒测试与黑盒测试的区别)...
- 程序入口地址的直接定制表【 (1) 清屏(2) 设置前景色 (3) 设置背景色 (4) 向上滚动一行】...
- 整理了一份嵌入式相关开源项目、库、资料
- SQL 数据库 学习 033 视图
- unturend服务器修改背包,Unturned背包属性介绍
- MYSQL统计收益排名
- 气象基础知识matlab,气象类专业Matlab课程教学探索与思考
- 文件服务器整机克隆,克隆云服务器到本地
- 2月14日快到了, 把 ChatGPT 调教成了情诗王子, 为你守护你的爱情