3884: 上帝与集合的正确用法 欧拉函数+降幂公式
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: 上帝与集合的正确用法 欧拉函数+降幂公式相关推荐
- Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式
这个题的指数太大了,因此要考虑用降幂公式进行降幂 记f(p) = 2^2^2... % p f(p) = 2^(2^2^2...%phi(p) + phi(p)) % p = 2^(f(phi(p)) ...
- BZOJ3884上帝与集合的正确用法-欧拉函数
刚开始我想的是欧拉降幂,可是觉得复杂度还是挺高的就去找了一下题解. 思路大方向没有问题,仍然是使用欧拉函数降低指数然后递归处理.但是不是简单的使用欧拉降幂而是应该对模数p稍微处理一下.因为底数已经确定 ...
- BZOJ 3884: 上帝与集合的正确用法 欧拉降幂
根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α".&q ...
- 3884: 上帝与集合的正确用法 —— 欧拉降幂
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- bzoj 3884: 上帝与集合的正确用法(欧拉函数)
3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 2574 Solved: 1151 [Submit][Status] ...
- BZOJ 3884 上帝与集合的正确用法
学习借鉴了skywalkert大佬的题解 Orz 首先题目需要用到欧拉函数的一个性质 $\forall x\geq \phi(p)$ $a^x\equiv a^{x \; mod \; \phi(p) ...
- bzoj 3884 上帝与集合的正确用法 扩展欧拉定理
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
- 洛谷4139 bzoj 3884 上帝与集合的正确用法
传送门 •题意 求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (无穷个2) 对p取模的值 •思路 设答案为f(p) $2^{2^{2^{2^{2^{2^{...^{2}}}}} ...
- BZOJ - 3884 上帝与集合的正确用法
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
最新文章
- Reject: HTTP ‘DELETE‘ is not allowed, Not injecting HSTS.....DELETE请求PUT请求跨域问题
- Sigma Function LightOJ - 1336[约数和定理]
- 卷积层数据放大_卷积神经网络重要回顾
- swiper图片轮播(左中右) (含源码)- 案例篇
- undo_management设置与隐含参数*._offline_rollback_segments和*._corrupted_rollback_segments关系...
- netty的handler里面ctx.channel().writeAndFlush()和ctx.writeAndFlush()的区别
- a标签href不跳转_HTML常用标签
- 联想服务器告警信息分析,联想服务器mib分析
- 产品经理笔试面试(题目+答案)
- 时间序列——季节系数法
- 微信小程序开发博客项目-篇幅《一》
- 字节序: big-endian vs little-endian
- JS:验证、限制纯数字或者英尺英寸格式的值
- stm32F105的Canable开源usb-can项目
- 洛谷P1244青蛙过河
- 使用ScriptX.cab控件
- 山东大学单片机原理与应用实验 3.2 拓展并行I/O口实验
- 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记(3)- 音频显示实现(Matplotlib, NumPy1.15.0)...
- XSS Challenges
- 制作每日疫情通报省份地图