Luogu P4139 上帝与集合的正确用法【扩展欧拉定理】By cellur925
题目传送门
题目中的式子很符合扩展欧拉定理的样子。(如果你还不知扩展欧拉定理,戳)。对于那一堆糟心的2,我们只需要递归即可,递归边界是模数为1.
另外,本题中好像必须要用快速乘的样子...否则无法通过...。
$Code$
1 #include<cstdio> 2 #include<algorithm> 3 4 using namespace std; 5 const int lim=10000010; 6 7 int T,p; 8 int phi[lim]; 9 10 void init_phi() 11 { 12 phi[1]=1; 13 for(int i=2;i<=lim;i++) phi[i]=i; 14 for(int i=2;i<=lim;i++) 15 if(phi[i]==i) 16 for(int j=i;j<=lim;j+=i) 17 phi[j]=phi[j]/i*(i-1); 18 } 19 20 int mul(int a,int b,int mo) 21 { 22 int ans=0; 23 while(b) 24 { 25 if(b&1) ans=(ans%mo+a%mo)%mo; 26 b>>=1; 27 a=a%mo*2%mo; 28 } 29 return ans; 30 } 31 32 int ksm(int a,int b,int mo) 33 { 34 int ans=1; 35 while(b) 36 { 37 if(b&1) ans=mul(ans,a,mo)%mo; 38 b>>=1; 39 a=mul(a,a,mo)%mo; 40 } 41 return ans; 42 } 43 44 int work(int mod) 45 { 46 if(mod==1) return 0; 47 return ksm(2,work(phi[mod])+phi[mod],mod); 48 } 49 50 int main() 51 { 52 init_phi(); 53 scanf("%d",&T); 54 while(T--) 55 { 56 scanf("%d",&p); 57 printf("%d\n",work(p)); 58 } 59 return 0; 60 }
View Code
转载于:https://www.cnblogs.com/nopartyfoucaodong/p/9741880.html
Luogu P4139 上帝与集合的正确用法【扩展欧拉定理】By cellur925相关推荐
- 【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α&quo ...
- bzoj 3884 上帝与集合的正确用法 扩展欧拉定理
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- 【洛谷】P4139 上帝与集合的正确用法
题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天,上帝创造了一个世界的基本元素,称做"元". 第二天,上帝创造了一个新的元素,称作"α" ...
- 【题解】 P4139 上帝与集合的正确用法
\(Decription:\) 给出T组询问,每次给出一个p,求\(2^{2^{2^{2...}}} \mod {p}\) \(Sample\) \(Input:\) 3 2 3 6 \(Sample ...
- P4139 上帝与集合的正确用法
题目描述 题目链接 一句话题意:2222...modp2^{2^{2^{2...}}} mod\ p2222...mod p 输入格式 第一行一个整数T,表示数据个数. 接下来T行,每行一个正整数p, ...
- (bzoj 3884 上帝与集合的正确用法)欧拉定理
题目 Time Limit: 5 Sec Memory Limit: 128 MB Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元 ...
- BZOJ3884 上帝与集合的正确用法 (欧拉定理)
根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α". ...
- BZOJ 3884 上帝与集合的正确用法 (欧拉定理)
题目大意:求2^(2^(2^(2^(2^...)))) mod p的值 题解:https://blog.csdn.net/popoqqq/article/details/43951401 #inclu ...
- BZOJ3884 上帝与集合的正确用法 【欧拉定理】
题目 对于100%的数据,T<=1000,p<=10^7 题解 来捉这道神题 欧拉定理的一般形式: \[a^{m} \equiv a^{m \mod \varphi(p) + [m \ge ...
最新文章
- docker安装Jenkins:查看安装版本信息
- 五、Requests库详细的用法
- 10.27 sort
- [CC]CC插件初探
- Centos 安装配置gerrit
- bmp转YUV RGB转YUV HM学习
- Eclipse+CDT+MinGW 配置 C/C++ 开发环境
- Graphviz安装配置教程(图文详解)
- 【九天教您南方cass 9.1】 11 方格网土方计算
- ARM CMSIS 4.5.0
- WPS Office 2021 for Mac(办公软件)
- 用思维导图描绘5G场景
- 嵌入式工程师必备开发工具
- བྱ་དེ་ཁྲུང་ཁྲུང་དཀར་པོ།།--洁白的仙鹤/仓央嘉措情歌--IPA--藏语...
- 模拟量开环控制系统的组成
- 误杀进程致电脑白屏解决办法
- 【UOJ311】【UNR #2】积劳成疾
- 【css】margin坍塌及应对办法
- 从来不敷面膜的人_女人不敷面膜的危害
- 在oracle符号,学在oracle数据库中插入特殊符号