Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式
这个题的指数太大了,因此要考虑用降幂公式进行降幂
记f(p) = 2^2^2... % p
f(p) = 2^(2^2^2...%phi(p) + phi(p)) % p = 2^(f(phi(p)) + phi(p)) % p
到这里我们得到了一个递推方程,边界f(1) = 0
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
typedef long long int64;
int64 MOD = 1e9 + 6;
char str[200007];
int64 mod_pow(int64 x,int64 n){int64 ans = 1;while(n){if(n & 1){ans = (ans * x) % (MOD + 1);}x = (x * x) % (MOD + 1);n >>= 1;}return ans % (MOD + 1);
}
int main(){while( cin>>str) {int len = strlen(str);int64 mod = 0;for(int i = 0; i < len;i++){mod *= 10;mod += str[i] - '0';mod %= MOD;}mod = (mod - 1)%MOD;printf("%lld\n",mod_pow(2,mod + MOD) ); }return 0;
}
Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式相关推荐
- 3884: 上帝与集合的正确用法 欧拉函数+降幂公式
Orz题解 降幂公式:a^x ≡a^(x modϕ(p)+ϕ(p)) (mod p) #include<iostream> #include<cstdio> #include& ...
- 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 上帝与集合的正确用法 欧拉定理
再次仰望高端玩家Po姐 3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 772 Solved: 361 [Submit] ...
- [数论]上帝与集合的正确用法
题目传送门:https://www.luogu.org/problemnew/show/P4139 题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本 ...
- 【洛谷】P4139 上帝与集合的正确用法
题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天,上帝创造了一个世界的基本元素,称做"元". 第二天,上帝创造了一个新的元素,称作"α" ...
- bzoj 3884 上帝与集合的正确用法 扩展欧拉定理
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...
最新文章
- 网络集中投射了全部安全问题
- Google Play应用描述格式
- pytorch attention 注意力
- 机器学习中的常见问题—损失函数
- 利用机器学习进行DNS隐蔽通道检测——数据收集,利用iodine进行DNS隐蔽通道样本收集...
- Vue学习01-v-on事件修饰符
- 35岁的程序员正在消失?No,我认识了一个50岁的程序员!
- python3 实现 A+B Problem(百练OJ:1000)
- gradle工作流程
- 前端工程师:现在是最糟糕的时代,也是最好的时代
- SLAM基础_从零开始一起学习SLAM | 为啥需要李群与李代数?
- SocksCapV2+Socks2HTTP
- 获取汉字拼音首字母方法
- Swift5实现ios后台播放语音,腾讯音视频通话后台播放来电铃声
- 我的挣扎 与 TBtools 的开发
- 2022年10大让人惊艳的数据可视化工具,BAT和字节都在用
- linux补齐命令,Linux中10个有用的命令行补齐命令
- 汽车制动盘的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- Errors were encountered while preparing your device for development. Please check the Devices and Si
- python字符串如何交叉_Python-两个字符串的交集
热门文章
- mysql innodb 多线程插入_mysql innodb 并发插入问题,包大量死锁错误
- linux配置文件引用时间,linux时间设置、screen使用、命令分类、hash作用、命令引用及history命令...
- 算法设计与分析——递归与分治策略——最接近点对问题
- 数据结构——图-迪杰斯特拉算法
- idea报错Class not found (在target中没有生成对应的class文件)
- [MyBatisPlus]代码生成器
- 高等数学下-赵立军-北京大学出版社-题解-练习8.3
- [蓝桥杯2016初赛]凑算式-dfs,next_permutation
- [蓝桥杯2019初赛]年号字串-数论+模拟
- python帮助系统函数_【Python】【基础知识】【内置函数】【help的使用方法】