日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷4139 bzoj 3884 上帝与集合的正确用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

?題意

求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (無窮個2) 對p取模的值

?思路

設答案為f(p)

$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}\%p$

$=2^{(2^{2^{2^{2^{2^{...^{2}}}}}}\%\varphi(p)+ \varphi(p))}\%p$

$=2^{(2^{2^{2^{2^{2^{...^{2}}}}}}\%\varphi(p)+ \varphi(p))}\%p$

$=2^{(2^{(2^{2^{2^{2^{...^{2}}}}}\%\varphi(\varphi(p)+\varphi(\varphi(p))))}\%\varphi(p)+ \varphi(p))}\%p$

...

得到遞推式? ? ?$2^{f(\varphi(p))+\varphi(p)}(mod\ p)$

利用歐拉降冪

$a^{b}=\begin{cases}a^{b\%\varphi(p)}? \ \ \ \ \ \ \ \ \ \? gcd(a,p)=1 \\ a^{b} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \? ?gcd(a,p)\neq 1,b \leqslant \varphi(p)\\a^{b\%\varphi(p)+\varphi(p)}? \ \ gcd(a,p)\neq1,b\geqslant \varphi(p)? \\ \end{cases}$

由于2的冪數是無窮的,肯定$>p$,所以可以直接使用$a^{b\%\varphi(p)+\varphi(p)} $

?

?代碼

1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 ll qpow(ll a,ll b,ll mod) 5 { 6 ll res=1; 7 while(b) 8 { 9 if(b&1) 10 res=res*a%mod; 11 a=a*a%mod; 12 b>>=1; 13 } 14 return res; 15 } 16 17 ll phi(ll x) 18 { 19 ll res=x; 20 for(int i=2;i*i<=x;i++) 21 { 22 if(x%i==0) 23 { 24 while(x%i==0) 25 x/=i; 26 res=res-res/i; 27 } 28 } 29 if(x>1) 30 res=res-res/x; 31 return res; 32 } 33 34 ll solve(ll m) 35 { 36 if(m==1) 37 return 0; 38 39 ll p=phi(m); 40 return qpow(2,solve(p)+p,m); 41 } 42 43 int main() 44 { 45 int t; 46 cin>>t; 47 while(t--) 48 { 49 ll m; 50 cin>>m; 51 cout<<solve(m)<<endl; 52 } 53 } View Code

?

轉載于:https://www.cnblogs.com/MMMinoz/p/11448399.html

總結

以上是生活随笔為你收集整理的洛谷4139 bzoj 3884 上帝与集合的正确用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。