poj_1845: Sumdiv
先将A^B分解质因数,可以通过先分解A,再把对应的幂次*B。之后用下面这个式子求解就可以了

#include<vector>
#include<iostream>
using namespace std;
typedef long long LL; const int mod=;
const int N=1e4+; LL A,B;
bool not_prime[N+];
vector<int> prime; void init()
{
for(int i=;i<N;i++)
{
if(!not_prime[i])
{
prime.push_back(i);
for(int j=i*i;j<N;j+=i)
not_prime[j]=true;
}
}
} LL qpow(LL x,LL n)
{
LL ret=;
for(;n;n>>=)
{
if(n&) ret=ret*x%mod;
x=x*x%mod;
}
return ret;
} LL sum(LL q,LL n) //求首项为1,公比为q 的等比数列的前n项和
{
if(n==) return ;
LL ret=;
LL ls=sum(q,n/);
LL rs=ls*qpow(q,n/)%mod;
ret=(ls+rs)%mod;
if(n&) ret=(ret+qpow(q,n-))%mod;
return ret;
} LL cal(LL A,LL B)
{
LL ret=;
for(int i=;prime[i]*prime[i]<=A&&i<prime.size();i++)
{
if(A%prime[i]==)
{
int cnt=;
while(A%prime[i]==) cnt++,A/=prime[i];
ret=ret*sum(prime[i],cnt*B+)%mod;
}
}
if(A>) ret=ret*sum(A,B+)%mod;
return ret;
} int main()
{
init();
while(cin>>A>>B)
cout<<cal(A,B)<<endl;
}
poj_1845: Sumdiv的更多相关文章
- POJ 1845 Sumdiv
快速幂+等比数列求和.... Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12599 Accepted: 305 ...
- Sumdiv(快速幂+约数和)
Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16244 Accepted: 4044 Description C ...
- poj 1845 Sumdiv 约数和定理
Sumdiv 题目连接: http://poj.org/problem?id=1845 Description Consider two natural numbers A and B. Let S ...
- Sumdiv 等比数列求和
Sumdiv Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 15364 Accepted: 3790 De ...
- poj 1845 POJ 1845 Sumdiv 数学模板
筛选法+求一个整数的分解+快速模幂运算+递归求计算1+p+p^2+````+p^nPOJ 1845 Sumdiv求A^B的所有约数之和%9901 */#include<stdio.h>#i ...
- 『sumdiv 数学推导 分治』
sumdiv(POJ 1845) Description 给定两个自然数A和B,S为A^B的所有正整数约数和,编程输出S mod 9901的结果. Input Format 只有一行,两个用空格隔开的 ...
- POJ 1845 Sumdiv(逆元)
题目链接:Sumdiv 题意:给定两个自然数A,B,定义S为A^B所有的自然因子的和,求出S mod 9901的值. 题解:了解下以下知识点 1.整数的唯一分解定理 任意正整数都有且只有唯一的方式 ...
- poj1845 Sumdiv
poj1845 Sumdiv 数学题 令人痛苦van分的数学题! 题意:求a^b的所有约数(包括1和它本身)之和%9901 这怎么做呀!!! 百度:约数和定理,会发现 p1^a1 * p2^a2 * ...
- 一本通1633【例 3】Sumdiv
1633:[例 3]Sumdiv 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 原题来自:Romania OI 2002 求 ABAB 的所有约数之和 mo ...
随机推荐
- Eclipse之文件【默认编码格式设置】,防止乱码等问题
文件默认编码格式设置步骤如下: 这里显示的是workspace的视图 其他格式文件的视图如下:
- javaSE_05Java中方法(函数)与重载、递归
1.方法的声明和调用 什么是方法?为什么需要方法?代码复用,方便软件升级 什么是方法? 具备特定功能的一段独立的代码段 标准的方法格式:(注意格式的顺序) 修饰符 返回值类型 方法名(参数类型 参数名 ...
- final关键字(最终的)
1.fianl关键字可以用来修饰类.属性.方法: 2.final关键字修饰的类不能再继承: 如:String String类是final修饰的类不能被继承 3.final关键字修饰的方法不能被重写 ...
- 搭建rtmp直播流服务之4:videojs和ckPlayer开源播放器二次开发(播放rtmp、hls直播流及普通视频)
前面几章讲解了使用 nginx-rtmp搭建直播流媒体服务器; ffmpeg推流到nginx-rtmp服务器; java通过命令行调用ffmpeg实现推流服务; 从数据源获取,到使用ffmpeg推流, ...
- robot framework环境搭建
来源:http://www.cnblogs.com/puresoul/p/3854963.html[转] 一. robot framework环境搭建: 官网:http://robotframewor ...
- Java下一个简单的数据库分库帮助类
简介 前面两篇文章主要讲了数据库读写分离和分表分库的一些问题,这篇文章主要讲一下我个人实现的一个分表分库项目. 在此之前,我有写过一个.Net的分库,最近在做Java的项目,就顺便做出一 ...
- 带着问题写React Native原生控件--Android视频直播控件
最近在做的采用React Native项目有一个需求,视频直播与直播流播放同一个布局中,带着问题去思考如何实现,能更容易找到问题关键点,下面分析这个控件解决方法: 现在条件:视频播放控件(开源的ijk ...
- Webstorm 激活破解
2017-06-15更新 之前都是使用2017.2.27的方法,版本是2017.1.1,还没提示过期,但是根据评论说这个链接已经失效了,评论也给出了个新地址:http://idea.iteblog.c ...
- 允许mysql用户从远程登录
1.修改/etc/mysql/my.cnf,将下面的行注释掉bind=127.0.0.1注释#bind=127.0.0.1 2.修改用户权限,允许从任何主机登录mysql>use mysql;m ...
- iptables 汇总
iptables 一. 背景知识 1. 相关网络背景知识 (1) Linux 主机内部路由 Linux 在 内核中维护由一个路由表, 报文进入本机后, 由该路由表判断目标地址; 报文离开本机之前, 判 ...