64. [Mcoi2018]终末之诗(上)
Description
求出\(k^{k^{k^{k^{...}}}} \pmod p\) 的结果
扩展欧拉定理:$$ax=a{min(x,x%\varphi(p)+\varphi(p))}(mod \ p)$$
题中由于是无限层,所以答案就是 \(x\)
由于\(\varphi(\varphi(\varphi(...)))\)总有一次会变成\(1\)的,那时候\(x\%p=0\)
那么就每次递归求解\(x\%\varphi(p)\)这一块就好了啊
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#define LL long long
#define max(a,b) ((a)>(b)? (a):(b))
#define min(a,b) ((a)<(b)? (a):(b))
using namespace std;
LL i,m,n,j,k,a[10001],p,t;
LL eular(LL x)
{
LL now=x, r=sqrt(now);
for(LL i=2;i<=r;i++)
{
if(x%i!=0) continue;
now=now/i*(i-1);
while(x%i==0) x/=i;
}
if(x!=1) now=now/x*(x-1);
return now;
}
LL quick(LL x,LL m,LL M)
{
LL t=1;
for(m;m>1;m>>=1, x=x*x%M)
if(m&1) t=t*x%M;
return x*t%M;
}
LL dfs(LL now)
{
if(now==1) return 0;
LL phi=eular(now);
return quick(n,dfs(phi)+phi,now);
}
int main()
{
scanf("%lld",&t);
for(t;t;t--)
{
scanf("%lld%lld",&n,&p);
printf("%lld\n",dfs(p));
}
}
64. [Mcoi2018]终末之诗(上)的更多相关文章
- 64位的Ubuntu系统上使用汇编nasm和C语言
64位的Ubuntu系统上使用汇编nasm和C语言 $ nasm -f elf foo.asm -o foo.o$ gcc -c bar.c -o bar.o$ ld -s foo.o bar.o ...
- PLSQL在64位系统连接不上32位的服务器
1 主要是因为PLSQL只能接纳32位的客户端 2 下载oracle32位客户端 http://www.oracle.com/technetwork/topics/winsoft-085727.htm ...
- 当您尝试从 64 位 SQL Server 客户端上运行分布式的查询到链接的 32 位 SQL Server 时,您可能会收到一条错误消息
如何处理64位SQL访问32位SQL执行脚本语句问题 链接服务器"SERVER_YBJK"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 &qu ...
- 阿里云64位centos6.3系统上编译安装redis
环境 系统:阿里云64位centos 6.3 [rao@AY~]$ cat /etc/issue CentOS release 6.3 (Final) Kernel \r on an \m [rao@ ...
- win7 64位如何共享XP上的打印机?
这个问题看似很简单,但是一旦你遇到了,就会发觉不是想象的那么简单. 除了网上能搜到的一些设置之外,这里还有几个诀窍: 1.首先你必须准备你的打印机的64位驱动程序 2.你在win7上必须采用添加本地打 ...
- CPU再烂,俺也支持虚拟化呀,再附送64位WINDOWS的IIS上配置支持PHP的注意事项
原来要对IIS进行降权,让他可以支持32位程式 cscript.exe %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/App ...
- Win7 64位系统上配置使用32位的Eclipse(转)
Win7 64位系统上配置使用32位的Eclipse 博客分类: Eclipse eclipse 最近工作电脑换成了64位的win7系统,之前个人电脑上安装的jdk和Eclipse都是32位的.而新 ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- 基于英特尔® 至强™ 处理器 E5 产品家族的多节点分布式内存系统上的 Caffe* 培训
原文链接 深度神经网络 (DNN) 培训属于计算密集型项目,需要在现代计算平台上花费数日或数周的时间方可完成. 在最近的一篇文章<基于英特尔® 至强™ E5 产品家族的单节点 Caffe 评分和 ...
随机推荐
- 【学习笔记】--- 老男孩学Python,day14 python内置函数大全
参考: https://www.cnblogs.com/pyyu/p/6702896.html http://www.runoob.com/python3/python3-built-in-func ...
- Github的readme.md的排版
排版格式: 1 标题与文字格式 标题 # 这是 H1 <一级标题> ## 这是 H2 <二级标题> ###### 这是 H6 <六级标题> 文字格式 **这是文字粗 ...
- JavaScript try-catch语句(错误处理)
错误处理在处理程序设计中的重要性是毋庸置疑的,任何有影响力的web应用程序都需要一套完善的错误处理机制.当然,大多数佼佼者确实做到了这一点,但通常只有服务器端应用程序才能做到如此.实际上,服务器端团队 ...
- Ubuntu-16.04-Desktop +Hadoop2.7.5+Eclipse-Neon的云计算开发环境的搭建(伪分布式方式)
主控终端 主机名 ubuntuhadoop.smartmap.com IP 192.168.1.60 Subnet mask 255.255.255.0 Gateway 192.168.1.1 DNS ...
- android之画板功能之橡皮擦 画笔大小和画笔颜色
第一展示设置画笔颜色的功能,第二展示设置画笔大小的颜色,而第三则展示橡皮擦的功能,这节将图标颜色设置为了蓝色,并且,增加了最左边的按钮(其实,就是在gridview中多增加了一个item). 下面分别 ...
- owin Claims-based认证登录实现
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext c ...
- PSP软件开发过程
1. 引言 这是为了编写psp系统的软件需求分析,主要按照提供的相关需求和功能. 1.1 项目风险 风险承担者包括: 任务提出者:承担任务不能完全按照想象的做出,投入等: 软件开发者:可能不能按时交付 ...
- Django之自定义权限
官方解释 Custom permissions¶ To create custom permissions for a given model object, use the permissions ...
- [TSQL|SQLSERVER|MSSQL数据库] 将数据库文件与日志附加到数据库引擎,以及转移数据库文件位置
附加: USE [master] GO CREATE DATABASE [database_name] ON ( FILENAME = N'C:\Data\<database name>. ...
- python基础_特殊符号
#\n 回车符 #\r 换行符 #\s 空格 #\t tab符号,不知道?开个txt文本,然后按电脑的tab键,就是caps lock上面那个,卧槽,看到一个大长空格(也可能是个超短空格),这个就是t ...