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 ...
随机推荐
- hdu 5975---Aninteresting game(树状数组)
题目链接 Problem Description Let’s play a game.We add numbers 1,2...n in increasing order from 1 and put ...
- python语言精粹《一》
第一章 静态语言:需要声明类型.变量不能改变类型! 动态语言:(也称脚本语言)主要的应用场景都是很短的应用程序(脚本),比如给静态语言编写的程序进行数据预处理.这样的程序通常也统称胶水代码. pyth ...
- (整理)使用tomcat搭建HTTP文件下载服务器
本文是整理,非原创,由网络资料组成上自己踩的坑整理而成. 1. 假设需要下载的文件目录是D:\download1(注意这里写了个1,跟后面的名称区分) 2. 设置 tomcat 的虚拟目录.在 {to ...
- 初识Java(2) 变量与数据类型
一. 变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 1) 必须以字母.下划线 _ .美元符号 $ 开头 2) 变量中,可以包括数字 3) 变量中,不能出现特殊的符号,空格 4 ...
- 每篇半小时1天入门MongoDB——3.MongoDB可视化及shell详解
本篇主要介绍MongoDB可视化操作以及shell使用及命令,备份恢复.数据导入导出. MongoVUE安装和简单使用 使用mongo.exe 管理数据库虽然可行,功能也挺强大,但每次都要敲命令,即繁 ...
- [转] SOLID五大设计原则
我们知道,面向对象对于设计出高扩展性.高复用性.高可维护性的软件起到很大的作用.我们常说的SOLID五大设计原则指的就是: S = 单一职责原则 Single Responsibility ...
- Vue实战Vue-cli项目构建(Vue+webpack系列之一)
用Vue比较长一段时间了,大大小小做了一些项目,最近想总结一下知识点,出一个Vue+webpack系列,先从项目构建说起--vue-cli. 由于是Vue+webpack这里就不赘述git那些东西,默 ...
- Spring Mvc Url和参数名称忽略大小写
在开发过程中Spring Mvc 默认 Url和参数名称都是区分大小写的 比如:www.a.com/user/getUserInfo?userId=1 www.a.com/user/getuserIn ...
- java中方法总结(每周更新)
1.URLEncoder.encode(username,"utf-8")将"utf-8"编码的username先解码,然后再采用URL编码 2.URLDeco ...
- AospExtended K3 Note最新官方版 Android7.1.2 极速 省电 流畅 Galaxy XIAOMI Moto Lenovo Coolpad 均支持
AospExtended 最新官方版 Android7.1.2 极速 省电 流畅 Galaxy XIAOMI Moto Lenovo Coolpad 均支持 之前用过1629开发版等,体验了很 ...