cogs 2691. Sumdiv
2691. Sumdiv
★★★ 输入文件:sumdiv.in
输出文件:sumdiv.out
简单对比
时间限制:1 s 内存限制:12 MB
【题目描述】
考虑两个自然数A和B.定义S是A ^ B的所有自然因数的总和。确定S模9901的值。
【输入格式】
唯一的行包含由空格分隔的两个自然数A和B(0 <= A,B <= 50000000)。
【输出格式】
输出一行,即S模9901。
【样例输入】
2 3
【样例输出】
15
样例解释:2 ^ 3 = 8。 8的自然因数是:1,2,4,8。他们的和是15。 15模9901是15(应该输出)。
【来源】
POJ1845
/*
题意:求A^B 所有约数(因子)之和mod 9901。 应用质因数分解+约数和公式+逆元+等比数列求和公式
A=p1^k1*p2^k2*...pn^kn
A^B=p1^(k1*B)*p2^(k2*B)...pn^(kn*B)
约数和公式:Sum=(1+p1+p1^2+...+p1^k1)*(1+p2+p2^2+...+p2^k2)*(......pk^kn)
Sum(A^B)=(1+p1+p1^2+...+p1^k1*B)*(1+p2+p2^2+...+p2^k2*B)*(......pk^kn*B) mod 9901
对于每一个 (1+p1+p1^2+...+p1^k1*B),根据等比数列求和公式为 [1-p1^(1+k1*B)]/(1-p1) mod 9901
根据逆元公式:a/b mod m=(a mod mb )/b
原式= [p1^(k1*B+1)-1] mod [9901*(p1-1)] / (p1-1)
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define ll long long
#define mod 9901
#define N 10005
int p[N],cnt;
ll A,B;
bool prime[N];
void Isprime(){
for(int i=;i<N;i++)
if(!prime[i]){
p[++cnt]=i;
for(int j=i+i;j<N;j+=i)
prime[j]=;
}
}
ll slow_mul(ll a,ll b,ll m){
ll result=;a%=m;
while(b){
if(b&){result=(result+a)%m;}
b>>=;
a=(a+a)%m;
}
return result;
}
ll fast_pow(ll a,ll b,ll m){
ll result=;a%=m;
while(b){
if(b&)result=slow_mul(result,a,m);
b>>=;
a=slow_mul(a,a,m);
}
return result;
}
int main(){
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
//freopen("cola.txt","r",stdin);
scanf("%lld%lld",&A,&B);
if(A==){printf("");return ;}
Isprime();
ll ans=;
for(int i=;p[i]*p[i]<=A;i++){//质因数分解
if(A%p[i]==){
int num=;
while(A%p[i]==)num++,A/=p[i];
ll M=mod*(p[i]-);
ans*=(fast_pow(p[i],num*B+,M)-)/(p[i]-);
ans%=mod;
}
}
if(A>){
ll M=(A-)*mod;
ans*=(fast_pow(A,B+,M)-)/(A-);
ans%=mod;
}
printf("%lld",ans);
}
cogs 2691. Sumdiv的更多相关文章
- 【COGS 254】【POI 2001】交通网络图
http://www.cogs.top/cogs/problem/problem.php?pid=254 dist[i]表示能最早到达i点的时间.这样就可以用最短路模型来转移了. #include&l ...
- POJ 1845 Sumdiv
快速幂+等比数列求和.... Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12599 Accepted: 305 ...
- 【COGS】894. 追查坏牛奶
http://cojs.tk/cogs/problem/problem.php?pid=894 题意:n个点m条边的加权网络,求最少边数的按编号字典序最小的最小割.(n<=32, m<=1 ...
- 【COGS】147. [USACO Jan08] 架设电话线(二分+spfa)
http://cojs.tk/cogs/problem/problem.php?pid=147 学到新姿势了orz 这题求的是一条1-n的路径的最大路径最小. 当然是在k以外的. 我们可以转换一下. ...
- 【COGS & USACO Training】710. 命名那个数字(hash+水题+dfs)
http://cojs.tk/cogs/problem/problem.php?pid=710 近日开始刷水... 此题我为了练一下hash...但是hash跑得比暴力还慢.. 不言而喻... #in ...
- 【COGS & USACO】896. 圈奶牛(凸包)
http://cojs.tk/cogs/problem/problem.php?pid=896 我的计算几何入门题... 看了看白书的计算几何部分,,恩好嘛.. 乃们都用向量!!!! 干嘛非要将2个点 ...
- 【COGS】714. USACO 1.3.2混合牛奶(贪心+水题)
http://cojs.tk/cogs/problem/problem.php?pid=714 在hzwer的刷题记录上,默默地先跳过2题T_T...求凸包和期望的..T_T那是个啥..得好好学习 看 ...
- 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 ...
随机推荐
- keras: 在构建LSTM模型时,使用变长序列的方法
众所周知,LSTM的一大优势就是其能够处理变长序列.而在使用keras搭建模型时,如果直接使用LSTM层作为网络输入的第一层,需要指定输入的大小.如果需要使用变长序列,那么,只需要在LSTM层前加一个 ...
- 微信小程序开发:学习笔记[5]——JavaScript脚本
微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...
- Java一致性的实现
一致性 内存模型 每一个线程有一个工作内存和主存独立 工作内存存放主存中变量的值的拷贝 Happen Before 1.程序次序规则:在一个单独的线程中,按照程序代码的执行流顺序,(时 ...
- BA模型 第10章
1.BA模型BA模型就是世界坐标到像素坐标的转换过程.这里多了一个去畸变.因为归一化平面坐标在转成像素坐标的过程中会出现畸变.这里只处理了径向畸变,径向畸变包括桶形失真和枕形失真,都是由于图像放大率随 ...
- datax 添加oraclewriter
日期格式: <param key="dtfmt" value="yyyy-MM-dd hh24:mi:ss"/>
- Python爬虫 —— 抓取美女图片(Scrapy篇)
杂谈: 之前用requests模块爬取了美女图片,今天用scrapy框架实现了一遍. (图片尺度确实大了点,但老衲早已无恋红尘,权当观赏哈哈哈) Item: # -*- coding: utf-8 - ...
- javascript(7)
js中基于对象==js面向对象 js中没有类class,但是它 JavaScript是一种面向(基于)对象的动态脚本语言,是一种基于对象和事件驱动并具有安全性能的脚本语言.它具有面向对象语言所特有的各 ...
- listen 75
Hot Jupiters Smarten Search For Other Earths Scientists are looking for Earth like planets around ot ...
- C语言中数据类型和变量
C语言中的数据类型 数据类型的本质,固定大小内存块的别名. 数组名代表数组首元素的地址. 数组首元素的地址,&代表整个数组的地址. 数组数据类型,怎么定义数据数组类型,定义数组类型指针,数组类 ...
- codewar代码练习1——8级晋升7级
最近发现一个不错的代码练习网站codewar(http://www.codewars.com).注册了一个账号,花了几天的茶余饭后时间做题,把等级从8级升到了7级.本文的目的主要介绍使用感受及相应题目 ...