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. mongodb系列~mongo常用命令

    mongodb常用命令大全1 索引相关命令 db.chenfeng.ensureIndex({"riqi":1}) 添加索引会阻塞nohup mongo --eval " ...

  2. Android勒索软件研究报告

    Android勒索软件研究报告 Author:360移动安全团队 0x00 摘要 手机勒索软件是一种通过锁住用户移动设备,使用户无法正常使用设备,并以此胁迫用户支付解锁费用的恶意软件.其表现为手机触摸 ...

  3. aircrack-ng笔记

    开启监听: airmon-ng start wlan0 抓包: airodump-ng wlan0mon 查看wifi ^C结束 airodump-ng -c 6 --bssid C8:3A:35:3 ...

  4. ubuntu14.04 安装 openssh-server

    ubuntu自带的有openssh-client,所以可以通过 ssh username@host 来远程连接linux 可是要想通过ssh被连接,ubuntu系统需要有openssh-server, ...

  5. 【Python】批量查询-提取站长之家IP批量查询的结果加强版本v3.0

    1.工具说明 写报告的时候为了细致性,要把IP地址对应的地区给整理出来.500多条IP地址找出对应地区复制粘贴到报告里整了一个上午. 为了下次更好的完成这项重复性很高的工作,所以写了这个小的脚本. 某 ...

  6. des结合base64加解密的python源码

    #coding=utf8 from pyDes import * import base64 class Crypt_Error(): pass """ des方法,de ...

  7. 网络抓包 Fiddler

    1. Fiddler 抓包简介 Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据.当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了.当你关闭的时候 ...

  8. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  9. LVS负载均衡器DR模型的实现

    概述: 在大规模互联网应用中,负载均衡设备是必不可少的一个节点,源于互联网应用的高并发和大流量的冲击压力,我们通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等) 一. ...

  10. ORACLE与SQLSERVER数据转换

    前言: 将SQLServer数据库中的表和数据全量导入到Oracle数据库,通过Microsoft SqlServer Management Studio工具,直接导入到oracle数据库,免去了生成 ...