BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理
Description

Input
Output
Sample Input
2
3
6
Sample Output
1
4
HINT
Solution
并不会拓展欧拉定理,于是去学了一下,发现看不懂证明,所以偷了一个结论来用

这里用到了第三个结论
于是随便求求欧拉函数
递归下去求出答案就好了(套公式)
#include <bits/stdc++.h>
using namespace std ;
#define ll long long
int T,p ;
int power( int a , int b , int mod ) {
int ans = , base = a ;
while( b ) {
if( b& ) ans = 1ll * ans * base % mod ;
base = 1ll * base * base % mod ;
b >>= 1ll ;
}
return 1ll * ans % mod ;
}
int phi( int n ) {
int m = sqrt( n ) , ans = n ;
for( int i = ; i <= m; i ++ )
if(n % i == ) {
ans = ans / i * ( i - ) ;
while( n % i == ) n /= i ;
}
if( n > ) ans = ans / n * ( n - ) ;
return ans ;
}
int calc( int x ) {
if( x == ) return ;
int t = phi( x ) ;
return power( , calc( t ) + t , x ) ;
}
int main() {
scanf( "%d" , &T ) ;
while(T--) {
scanf("%d" , &p) ;
printf("%d\n" , calc(p) ) ;
}
}
BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理的更多相关文章
- Luogu4139 上帝与集合的正确用法 拓展欧拉定理
传送门 题意:求$2^{2^{2^{2^{...}}}} \mod p$的值.$p \leq 10^7$ 最开始想到的是$x \equiv x^2 \mod p$,然后发现不会做... 我们可以想到拓 ...
- bzoj3884: 上帝与集合的正确用法 扩展欧拉定理
题意:求\(2^{2^{2^{2^{...}}}}\%p\) 题解:可以发现用扩展欧拉定理不需要很多次就能使模数变成1,后面的就不用算了 \(a^b\%c=a^{b\%\phi c} gcd(b,c) ...
- BZOJ3884 上帝与集合的正确用法 【欧拉定理】
题目 对于100%的数据,T<=1000,p<=10^7 题解 来捉这道神题 欧拉定理的一般形式: \[a^{m} \equiv a^{m \mod \varphi(p) + [m \ge ...
- 【BZOJ3884】上帝与集合的正确用法(欧拉定理,数论)
[BZOJ3884]上帝与集合的正确用法(欧拉定理,数论) 题面 BZOJ 题解 我们有欧拉定理: 当\(b \perp p\)时 \[a^b≡a^{b\%\varphi(p)}\pmod p \] ...
- 洛谷P4139 上帝与集合的正确用法 [扩展欧拉定理]
题目传送门 上帝与集合的正确用法 题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”. ...
- bzoj3884上帝与集合的正确用法
Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“ ...
- BZOJ3884: 上帝与集合的正确用法(欧拉函数 扩展欧拉定理)
Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 3860 Solved: 1751[Submit][Status][Discuss] Descripti ...
- 【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“元”构成的集合.容 ...
- bzoj3884 上帝与集合的正确用法
a^b mod P=a^(b mod phi(p)) mod p,利用欧拉公式递归做下去. 代码 #pragma comment(linker,"/STACK:1024000000,1024 ...
随机推荐
- Infopath表单&Reproting Service在IE11下问题解决
一.打开表单出现错误:“对象不支持“addEventListener”属性或方法”错误 解决方法: 1. IE11浏览器--->选项 2. 勾选"在兼容性视图中显示intranet站点 ...
- Loadrunner之https协议录制回放报错如何解决?(九)
一.录制中遇到报错27778的问题(如下图1),即关于录制的链接为https开头的问题,分两个步骤解决,如下: 图1 https访问报错解决步骤如下: 1.修改Vuser-->Run-time ...
- linux平台mysql密码设置
登录mysql默认没有指定账号 查看默认账号是谁 select user(); mysql> select user();+----------------+| user() |+------- ...
- python 基础 列表生成式 生成器
列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, ...
- MVC中的传参并在View中获取
首先action跳转的模式有如下: redirecttoaction("index");//一个参数时在本controller下,不传入参数. redirecttoaction(a ...
- [LeetCode] 383. Ransom Note_Easy tag: Hash Table
Given an arbitrary ransom note string and another string containing letters from all the magazines, ...
- java实现Comparable接口和Comparator接口,并重写compareTo方法和compare方法
原文地址https://segmentfault.com/a/1190000005738975 实体类:java.lang.Comparable(接口) + comareTo(重写方法),业务排序类 ...
- android开发中遇到的一些问题
buildToolsVersion 设置buildtool版本 今天遇到一个奇怪问题instant not supported 原来是设置显示offline...这个很无语,adb devices又能 ...
- dxf cad dwg 文件读写,支持跨平台移植 库
http://www.pudn.com/Download/item/id/3096684.html 联合开发网 --->绘图程序
- CMPXCHG指令
一.CMPXCHG汇编指令详解. 这条指令将al\ax\eax\rax中的值与首操作数比较: 1.如果相等,第2操作数的直装载到首操作数,zf置1.(相当于相减为0,所以0标志位置位) 2.如果不等, ...