hdu5728
详细题解:
http://blog.csdn.net/wust_zzwh/article/details/51966450
……化简公式的能力还不够啊……
#include<bits/stdc++.h> using namespace std;
typedef long long ll;
const int mo=1e9+;
const int mx=1e7;
bool v[mx+];
int pr[mx+],phi[mx+],s[mx+],a[],r,n,m,t,p; void resolve(int n)
{
r=;
for (int i=; i<=t; i++)
if (n%pr[i]==) {a[++r]=pr[i]; n/=pr[i];}
else if (n<pr[i]) break;
} int quick(ll x,ll y,int p)
{
ll s=;
while (y)
{
if (y&) s=s*x%p;
x=x*x%p;
y>>=;
}
return (s==)?p:s;
} ll f(int i,int n,int m)
{
if (n==) return s[m];
if (m==) return ;
return (1ll*(a[i]-)*f(i+,n/a[i],m)%mo+f(i,n,m/a[i]))%mo;
} int ans(int k,int p)
{
if (p==) return ;
return quick(k,ans(k,phi[p]),p);
} int main()
{
phi[]=;
for (int i=; i<=mx; i++)
{
if (!v[i])
{
pr[++t]=i;
v[i]=;
phi[i]=i-;
}
for (int j=; j<=t; j++)
{
if (i*pr[j]>mx) break;
v[i*pr[j]]=;
if (i%pr[j]) phi[i*pr[j]]=phi[i]*(pr[j]-);
else {
phi[i*pr[j]]=phi[i]*pr[j];
break;
}
}
}
for (int i=; i<=mx; i++) s[i]=(s[i-]+phi[i])%mo;
while (scanf("%d%d%d",&n,&m,&p)!=EOF)
{
if (p==) {puts(""); continue;}
resolve(n);
ll k=f(,n,m);
printf("%d\n",ans(k,p)%p);
}
}
hdu5728的更多相关文章
- hdu-5728 PowMod(数论)
题目链接: PowMod Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
- 2016 Multi-University Training Contest 1
8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...
随机推荐
- zabbix监控ipmi
@1.假设idrac已经启用,并且使用ipmitool能正确读取数据(本文后面详细描述如何配置) @2.第一节只涉及web配置 1.创建主机 configuration-->hosts--> ...
- Qt ---------- connect连接类型
Qt::AutoConnection 0 (Default) If the receiver lives in the thread that emits the signal, Qt::Direct ...
- [技巧篇]09.Struts2豁然开朗的一些配置[记得要看哟]
这里留下一个重要的信息,关于部署描述符,关于struts2的核心配置文件,关于JSON插件的属性配置介绍,还有特别重要的JSON的注解 关于struts.xml的配置,这里学到了新的知识 使用插件方式 ...
- Redis(3) 配置文件 redis.conf
Redis.conf 配置详解: # Redis configuration file example. # # Note that in order to read the configuratio ...
- python socket和简单tcp通信实现
python 服务端和客户端的简单交互 TCP服务端: 1 创建套接字,绑定套接字到本地IP与端口 s = socket.socket(socket.AF_INET,socket.SOCK_STREA ...
- MyBatis框架的使用及源码分析(八) MapperMethod
从 <MyBatis框架中Mapper映射配置的使用及原理解析(七) MapperProxy,MapperProxyFactory> 文中,我们知道Mapper,通过MapperProxy ...
- 基于html5的动画库,非svg和canvas
基于html5的动画库,非svg和canvas https://greensock.com/docs/#/HTML5/GSAP/TweenLite/
- bzoj3671 [Noi2014]随机数生成器
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3671 [题解] 贪心从1...n*m取,开两个5000*5000的数组就够了,可以重复利用, ...
- 【BZOJ】1578: [Usaco2009 Feb]Stock Market 股票市场
[题意]给定s个股票和d天,给出价格矩阵s*d,每天可以买入或卖出整数倍股票,初始资金m,求最大利益.m<=200000,s<=50,d<=10. [算法]完全背包 [题解]关键在于 ...
- 如何设计一个优雅健壮的Android WebView?(下)
转:如何设计一个优雅健壮的Android WebView?(下) 前言 在上文<如何设计一个优雅健壮的Android WebView?(上)>中,笔者分析了国内WebView的现状,以及在 ...