Orz题解
降幂公式:a^x ≡a^(x modϕ(p)+ϕ(p)) (mod p)

#include<iostream>
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
inline ll read()
{int a=0,f=1; char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();}while (c>='0'&&c<='9') {a=a*10+c-'0'; c=getchar();}return a*f;
}
ll phi(ll x)
{ll tmp=x,m=sqrt(x);for (int i=2;i<=m;i++)if (x%i==0){tmp-=tmp/i;while (x%i==0) x/=i;}if (x>1) tmp-=tmp/x;return tmp;
}
int pow(ll a,ll b,ll p)
{int ans=1;for (ll i=b;i;i>>=1,a=a*a%p)if (i&1) ans=ans*a%p;return ans;
}
ll F(ll x)
{if (x==1) return 0;int p=phi(x);return pow(2,F(p)+p,x);
}
int main()
{int T=read();while(T--){ll p=read();printf("%d\n",F(p));}return 0;
}

3884: 上帝与集合的正确用法 欧拉函数+降幂公式相关推荐

  1. Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式

    这个题的指数太大了,因此要考虑用降幂公式进行降幂 记f(p) = 2^2^2... % p f(p) = 2^(2^2^2...%phi(p) + phi(p)) % p = 2^(f(phi(p)) ...

  2. BZOJ3884上帝与集合的正确用法-欧拉函数

    刚开始我想的是欧拉降幂,可是觉得复杂度还是挺高的就去找了一下题解. 思路大方向没有问题,仍然是使用欧拉函数降低指数然后递归处理.但是不是简单的使用欧拉降幂而是应该对模数p稍微处理一下.因为底数已经确定 ...

  3. BZOJ 3884: 上帝与集合的正确用法 欧拉降幂

    根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α".&q ...

  4. 3884: 上帝与集合的正确用法 —— 欧拉降幂

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

  5. bzoj 3884: 上帝与集合的正确用法(欧拉函数)

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2574  Solved: 1151 [Submit][Status] ...

  6. BZOJ 3884 上帝与集合的正确用法

    学习借鉴了skywalkert大佬的题解 Orz 首先题目需要用到欧拉函数的一个性质 $\forall x\geq \phi(p)$ $a^x\equiv a^{x \; mod \; \phi(p) ...

  7. bzoj 3884 上帝与集合的正确用法 扩展欧拉定理

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

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

    传送门 •题意 求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (无穷个2) 对p取模的值 •思路 设答案为f(p) $2^{2^{2^{2^{2^{2^{...^{2}}}}} ...

  9. BZOJ - 3884 上帝与集合的正确用法

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

最新文章

  1. Reject: HTTP ‘DELETE‘ is not allowed, Not injecting HSTS.....DELETE请求PUT请求跨域问题
  2. Sigma Function LightOJ - 1336[约数和定理]
  3. 卷积层数据放大_卷积神经网络重要回顾
  4. swiper图片轮播(左中右) (含源码)- 案例篇
  5. undo_management设置与隐含参数*._offline_rollback_segments和*._corrupted_rollback_segments关系...
  6. netty的handler里面ctx.channel().writeAndFlush()和ctx.writeAndFlush()的区别
  7. a标签href不跳转_HTML常用标签
  8. 联想服务器告警信息分析,联想服务器mib分析
  9. 产品经理笔试面试(题目+答案)
  10. 时间序列——季节系数法
  11. 微信小程序开发博客项目-篇幅《一》
  12. 字节序: big-endian vs little-endian
  13. JS:验证、限制纯数字或者英尺英寸格式的值
  14. stm32F105的Canable开源usb-can项目
  15. 洛谷P1244青蛙过河
  16. 使用ScriptX.cab控件
  17. 山东大学单片机原理与应用实验 3.2 拓展并行I/O口实验
  18. 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(3)- 音频显示实现(Matplotlib, NumPy1.15.0)...
  19. XSS Challenges
  20. 制作每日疫情通报省份地图

热门文章

  1. js中单引号和双引号的使用区别
  2. 虚拟现实如何让学习成为全民化体验?
  3. 网络基础——综合布线
  4. HiHopeOS操作系统成为首个通过OpenHarmony 兼容性认证的软件发行版
  5. 西雅图成为了美国办公租赁最大市场!
  6. Xilinx IOBUF 的用法
  7. 消息称人人车破产 回应:纯属造谣
  8. 小学有计算机课程吗,小学计算机是不是就是信息技术啊
  9. 【报告分享】2020美好城市指数:短视频与城市繁荣关系白皮书(附下载)
  10. 返利机器人分享话术_淘客如何私聊粉丝进免单群?返利机器人引流话术分享?...