P1593 因子和
新算法:
#define ni 逆元
先质因数分解,
(1+p1^1+p1^2...p1^x)*(1+p2^1+p2^2...p2^x)
然后套等比数列公式就可以了。

 #include<iostream>
#include<cstdio>
#include<queue>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<set>
#define mod 9901
#include<cstring>
#define inf long long_MAX
#define For(i,a,b) for(register long long i=a;i<=b;i++)
#define p(a) putchar(a)
#define g() getchar()
//by war
//2017.10.27
using namespace std;
long long num,b;
struct node
{
long long cnt;
long long p;
}a[];//40M
long long prime[];//40M
long long cnt;
long long tot;
bool vis[];
long long ans; void in(long long &x)
{
long long y=;
char c=g();x=;
while(c<''||c>'')
{
if(c=='-')
y=-;
c=g();
}
while(c<=''&&c>='')x=x*+c-'',c=g();
x*=y;
}
void o(long long x)
{
if(x<)
{
p('-');
x=-x;
}
if(x>)o(x/);
p(x%+'');
} void Euler(long long x)
{
For(i,,x)
{
if(!vis[i])prime[++cnt]=i;
for(register long long j=;j<=cnt&&prime[j]*i<=x;j++)
{
vis[prime[j]*i]=true;
if(i%prime[j]==)
break;
}
}
} void resolve(long long x)
{
For(i,,cnt)
{
if(x%prime[i]==)
{
a[++tot].p=prime[i];
while(x%prime[i]==)
{
a[tot].cnt++;
x/=prime[i];
}
}
}
if(x>)
{
a[++tot].p=x;
a[tot].cnt++;
}
} long long ksm(long long a,long long b)
{
if(b==)
return ;
while(b%==)
{
a=(a*a)%mod;
b>>=;
}
long long r=;
while(b>)
{
if(b%==)
r=(r*a)%mod;
a=(a*a)%mod;
b>>=;
}
return r%mod;
} void exgcd(long long a,long long b,long long &x,long long &y)
{
if(!b)
{
x=;
y=;
return;
}
exgcd(b,a%b,x,y);
long long temp=x;
x=y;
y=temp-(a/b)*y;
} long long series(long long q,long long n)
{
long long fz=ksm(q,n)-;
long long x,y,b;
exgcd(q-,mod,x,y);
long long ni=x;
ni=(ni%mod+mod)%mod;
return (fz*ni%mod+mod)%mod;
} int main()
{
in(num),in(b);
Euler(sqrt(num));
resolve(num);
ans=;
For(i,,tot)
ans=ans*series(a[i].p,a[i].cnt*b+)%mod;
o(ans%mod);
return ;
}

P1593 因子和的更多相关文章

  1. 洛谷P1593 因子和

    题目描述 输入两个正整数a和b,求a^b的因子和.结果太大,只要输出它对9901的余数. 输入输出格式 输入格式: 仅一行,为两个正整数a和b(0≤a,b≤50000000). 输出格式: a^b的因 ...

  2. 洛谷 P1593 因子和

    https://www.luogu.org/problemnew/show/P1593#sub 利用约数和定理:可以去看一下公式第13条 然后这个题目的话,要求$a^b$,那么我们首先可以先将a分解然 ...

  3. luogu P1593 因子和

    不要吐槽博主总做这些数论氵题 首先我们看到这种因数问题,果断质因数分解 所以当前数\(a=p_1^{k_1}*p_2^{k_2}...*p_m^{k_m}\) 可得\(a^b=p_1^{k_1*b}* ...

  4. Uva 11395 Sigma Function (因子和)

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/C   题目在文末 题意:1~n (n:1~1012)中,因子 ...

  5. LightOj 1098 - A New Function(求1-n所有数的因子和)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1098 题意:给你一个数n (0 ≤ n ≤ 2 * 109),求n以内所有数的因子和, ...

  6. nylg 小M的因子和

    小M的因子和 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 小M在上课时有些得意忘形,老师想出道题目难住他.小M听说是求因子和,还是非常得意,但是看完题目是求A的B ...

  7. 因子和(luoguP1593)(等比数列求和+逆元)

    输入两个正整数\(a\)和\(b\),求\(a\cdot b\)的因子和.结果太大,只要输出它对9901的余数. Input 仅一行,为两个正整数\(a\)和\(b\)(\(0≤a,b≤5000000 ...

  8. [转]Laplace算子和Laplacian矩阵

    1 Laplace算子的物理意义 Laplace算子的定义为梯度的散度. 在Cartesian坐标系下也可表示为: 或者,它是Hessian矩阵的迹: 以热传导方程为例,因为热流与温度的梯度成正比,那 ...

  9. 七夕节---hdu1215(打表求因子和)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1215 给你一个数n(1<=n<=50w)求n的所有因子和, 由于n的范围比较大,所以要采用 ...

随机推荐

  1. CDH集群中YARN的参数配置

    CDH集群中YARN的参数配置 前言:Hadoop 2.0之后,原先的MapReduce不在是简单的离线批处理MR任务的框架,升级为MapReduceV2(Yarn)版本,也就是把资源调度和任务分发两 ...

  2. vue axios全攻略

    不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解.本来想在网上找找详细攻略,突然发现,axios 的官方文档本身就非常详细!!有这个还要什么自行 ...

  3. spring cloud 学习

    on going... 微服务势在必行,要开始学点相关的东西了,fighting!!! 注册中心 网关 负载均衡 限流 等等.

  4. Mybatis进阶学习笔记——关系查询——一对多查询

    一个客户拥有多个订单 <resultMap type="User" id="UserOrderResultMap"> <id column=& ...

  5. Freemarker导出带图片的word

    1.新建一doc文档

  6. WPF开发中的多线程的问题

    今天帮助同事做了一个WPF版的多线程demo,分享给大家. 要实现的问题就是非主线程thread1 去后台不停的取新数据,当有新数据的时候就会展示到前台. 我给他做的demo实现一个按秒的计数器,随着 ...

  7. 深入分析Linux自旋锁【转】

    转自:http://blog.chinaunix.net/uid-20543672-id-3252604.html 前言: 在复习休眠的过程中,我想验证自旋锁中不可休眠,所以编写了一个在自旋锁中休眠的 ...

  8. React-Native 之 项目实战(一)

    前言 本文有配套视频,可以酌情观看. 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我. 文中所有内容仅供学习交流之用,不可用于商业用途,如因此引起的相关法律法规责任,与我无关. 如文中内容对 ...

  9. 自动化运维之cobbler安装centos7.3

    自动化运维之cobbler安装centos7.3 一.cobbler简介和服务 Cobbler是一款自动化操作系统安装的实现,与PXE安装系统的区别就是可以同时部署多个版本的系统,而PXE只能选择一种 ...

  10. centos6.5系统bash损坏之救援模式修复

    1.模拟bash被损坏的情况 # mv /bin/bash /tmp [root@localhost ~]# sync [root@localhost ~]# shutdown -r now 2.挂载 ...