19南京网络赛B 欧拉降幂
题目链接
给a,b,p。有b个a的幂

#include <iostream>
using namespace std;
typedef long long LL;
const LL N = 1e6+50;
LL phi[N], vis[N], prime[N], cnt;
void Euler()
{
for(LL i = 2;i < N;++i)
{
if(!vis[i])
{
prime[cnt++] = i;
phi[i] = i-1;
}
for(int j = 0;j < cnt && i*prime[j] < N;++j)
{
vis[i*prime[j]] = 1;
if(i%prime[j] == 0)
{
phi[i*prime[j]] = phi[i]*prime[j];
break;
}
phi[i*prime[j]] = phi[i]*(prime[j]-1);
}
}
phi[1] = 1;
}
LL q_pow(LL a, LL b, LL p)
{
LL ret = 1;
while(b)
{
if(b&1) ret = ret*a>p?ret*a%p+p:ret*a;
b >>= 1;
a = a*a>p?a*a%p+p:a*a;
}
return ret;
}
LL solve(LL a, LL b, LL m)
{
if(m == 1 || b == 0) return 1;//phi(m) < m,所以最后m为1
return q_pow(a, solve(a, b-1, phi[m]), m);
}
int main()
{
Euler();
int T;scanf("%d",&T);
while(T--)
{
LL a, b, m;
scanf("%lld%lld%lld", &a, &b, &m);
printf("%lld\n", solve(a, b, m)%m);
}
return 0;
}
19南京网络赛B 欧拉降幂的更多相关文章
- 19南京网络赛A 扫描线
题目链接:https://nanti.jisuanke.com/t/41298 扫描线的简单题,题目难在找宫殿的价值(°ー°"),比赛时将近100多行代码找价值,纯模拟,看到题解哭了. 存下 ...
- 2019-ACM-ICPC-南昌区网络赛-H. The Nth Item-特征根法求通项公式+二次剩余+欧拉降幂
2019-ACM-ICPC-南昌区网络赛-H. The Nth Item-特征根法求通项公式+二次剩余+欧拉降幂 [Problem Description] 已知\(f(n)=3\cdot f(n ...
- 2019ICPC网赛南京站B题 super_log(欧拉降幂
https://nanti.jisuanke.com/t/41299 题意:让算a^(a^(a^(...))),一共b个a, (mod p)的结果. 思路:这是个幂塔函数,用欧拉降幂公式递归求解. # ...
- 牛客OI测试赛 F 子序列 组合数学 欧拉降幂公式模板
链接:https://www.nowcoder.com/acm/contest/181/F来源:牛客网 题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘 ...
- 吉首大学2019年程序设计竞赛(重现赛)- A SARS病毒 (矩阵,欧拉降幂)
题目链接:https://ac.nowcoder.com/acm/contest/992/A 题意:求出长度为n的字符串个数,字符串由A.C.G.T组成,其中A和C必须成对出现. 思路:我们规定: ...
- 吉首大学校赛 A SARS病毒 (欧拉降幂)
链接:https://ac.nowcoder.com/acm/contest/925/A来源:牛客网 题目描述 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA ...
- ACM-数论-广义欧拉降幂
https://www.cnblogs.com/31415926535x/p/11447033.html 曾今一时的懒,造就今日的泪 记得半年前去武大参加的省赛,当时的A题就是一个广义欧拉降幂的板子题 ...
- HDU - 4704 sum 大数取余+欧拉降幂
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submi ...
- 2018ICPC南京网络赛
2018ICPC南京网络赛 A. An Olympian Math Problem 题目描述:求\(\sum_{i=1}^{n} i\times i! \%n\) solution \[(n-1) \ ...
随机推荐
- 本地安装配置redis
Windows中redis的下载及安装.设置 本文是转载自:https://www.cnblogs.com/jylee/p/9844965.html 下载地址: https://github.co ...
- H3C RIPv2的改进
- H3C 单路径网络中环路产生过程(1)
- H3C RIP路由表的初始化
- centos7中安装R之前yum依赖的包
#!/bin/bash echo "#########################开始安装依赖环境#####################" yum -y install g ...
- linux 延后执行
设备驱动常常需要延后一段时间执行一个特定片段的代码, 常常允许硬件完成某个任务. 在这一节我们涉及许多不同的技术来获得延后. 每种情况的环境决定了使用哪种技术最好; 我们全都仔细检查它们, 并且指出每 ...
- 2019-9-20-SharpDx-的代替项目
title author date CreateTime categories SharpDx 的代替项目 lindexi 2019-09-20 09:13:59 +0800 2019-09-20 0 ...
- 2019-10-12-win10-uwp-非ui线程访问-ui-
title author date CreateTime categories win10 uwp 非ui线程访问 ui lindexi 2019-10-12 15:0:12 +0800 2018-2 ...
- 2018-2-13-Visual-studio-C#-代码使用-NotNull
title author date CreateTime categories Visual studio C# 代码使用 NotNull lindexi 2018-2-13 17:23:3 +080 ...
- Vue____实现本地代码推送到云端仓库的相关操作
项目初始化搭建完毕,每进行一个功能模块开发的必备操作,目的是方便协同开发以及备份代码 一.每开发一个新功能,都应该创建一个新分枝,待该功能模块开发完成以后,再合并到主分支master中,具体步骤如下: ...