博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3884: 上帝与集合的正确用法 扩展欧拉定理 + 快速幂
阅读量:5213 次
发布时间:2019-06-14

本文共 718 字,大约阅读时间需要 2 分钟。

求 $2^{2^{2^{2...}}}$ 即 $2^{2^\infty }$
有扩展欧拉定理 : $2^{b} \equiv2^{b\%\varphi(x)+\varphi(x)}$$(b\geq\varphi(x))$
在这道题中,$b$ 始终为 $2^{2^{\infty}}$, 大小并不会减小.
好在 $\varphi(x)$ 的值会不断变小.
递归出口为 $x=1$,这样值就为 1 了.  
#include
#define maxn 10000004#define ll long long using namespace std;void setIO(string s){ string in=s+".in"; freopen(in.c_str(),"r",stdin); }int cnt; int phi[maxn],vis[maxn],prime[maxn]; ll qpow(ll a,ll k,ll mod){ ll tmp=1; while(k) { if(k&1)tmp=(tmp*a)%mod; k>>=1; a=(a*a)%mod; } return tmp; }ll solve(int p){ if(p==1) return 0; return qpow(2, solve(phi[p]) + phi[p], p); }int main(){ int i,j,T,p; // setIO("input"); for(i=2;i

  

转载于:https://www.cnblogs.com/guangheli/p/11083671.html

你可能感兴趣的文章
软件测试-----Graph Coverage作业
查看>>
django ORM创建数据库方法
查看>>
创建Oracle synonym 详解
查看>>
php7 新特性整理
查看>>
RabbitMQ、Redis、Memcache、SQLAlchemy
查看>>
linux查看端口占用
查看>>
hdu - 1226 超级密码 (bfs)
查看>>
Qt重写paintEvent方法遇到的问题
查看>>
Sql常见面试题 受用了
查看>>
知识不是来炫耀的,而是来分享的-----现在的人们却…似乎开始变味了…
查看>>
CSS背景颜色、背景图片、平铺、定位、固定
查看>>
口胡:[HNOI2011]数学作业
查看>>
我的第一个python web开发框架(29)——定制ORM(五)
查看>>
Combination Sum III -- leetcode
查看>>
中国剩余定理
查看>>
刘汝佳,竖式问题
查看>>
hdu--1029--思维题
查看>>
基础笔记一
查看>>
uva 10137 The trip
查看>>
spring 解决中文乱码问题
查看>>