洛谷 P1593 因子和
https://www.luogu.org/problemnew/show/P1593#sub
利用约数和定理:可以去看一下公式第13条
然后这个题目的话,要求$a^b$,那么我们首先可以先将a分解然后给指数乘上$b$.
然后我们就需要计算$(1+p+p^2+....p^k)$因为k可能特别大,所以直接计算是不可能了。
看完公式后,我们当然可以利用等比公式计算了,然而还要求逆元,这题不用那么麻烦啦。
费马小定理可以解决这个问题:公式第14条
$$a^x \equiv a^{\mu(x)}mod p,\mu(x)=x-1 $$
因为模数比较小那么在我们计算的时候显然会有循环节的出现,那么我们只需要计算这个循环节就好了。
然后将每一个质因数的答案想乘就可以得到答案啦。
注意开$long long$
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
#define mod 9901
#define LL long long
LL a,b,x;
LL pri[],cnt[],ans,tot,pw[];
int main()
{
cin>>a>>b;
x=a;
for(int i=;i*i<=a;i++)
{
if(x%i==)
{
pri[++tot]=i;
while(x%i==)
{
cnt[tot]++;
x/=i;
}
}
}
if(x!=)
{
pri[++tot]=x;
cnt[tot]=;
}
ans=;
for(int i=;i<=tot;i++)cnt[i]*=b;
for(int i=tot;i>=;i--)
{
pw[]=;
LL s=,as=;
for(int j=;j<=&&j<=cnt[i];j++)
{
pw[j]=pw[j-]*pri[i]%mod;
(s=s+pw[j])%=mod;
if(cnt[i]%==j)as=s;
}
ans=(ans*((cnt[i]/)*s+as)%mod)%mod;
}
cout<<ans;
}
洛谷 P1593 因子和的更多相关文章
- 洛谷P1593 因子和
题目描述 输入两个正整数a和b,求a^b的因子和.结果太大,只要输出它对9901的余数. 输入输出格式 输入格式: 仅一行,为两个正整数a和b(0≤a,b≤50000000). 输出格式: a^b的因 ...
- 洛谷 - P1593 - 因子和 - 费马小定理
类似的因为模数比较小的坑还有卢卡斯定理那道,也是有时候逆元会不存在,因为整除了.使用一些其他方法避免通过逆元. https://www.luogu.org/fe/problem/P1593 有坑.一定 ...
- 洛谷 P1593 因子和 || Sumdiv POJ - 1845
以下弃用 这是一道一样的题(poj1845)的数据 没错,所有宣称直接用逆元/快速幂+费马小定理可做的,都会被hack掉(包括大量题解及AC代码) 什么原因呢?只是因为此题的模数太小了...虽然990 ...
- 洛谷 P1593 因子和 题解
题面 这道题在数学方面没什么难度: 对于每一个正整数n: 质因数分解后可以写成n=a1^k1a2^k2……*ai^ki 所求的数的因数和f(n)就等于f(n)=(1+a1+a1^2+……+a1^k1) ...
- 洛谷P1244 青蛙过河 DP/思路
又是一道奇奇怪怪的DP(其实是思路题). 原文戳>>https://www.luogu.org/problem/show?pid=1244<< 这题的意思给的挺模糊,需要一定的 ...
- [洛谷P3158] [CQOI2011]放棋子
洛谷题目链接:[CQOI2011]放棋子 题目描述 在一个m行n列的棋盘里放一些彩色的棋子,使得每个格子最多放一个棋子,且不同 颜色的棋子不能在同一行或者同一列.有多少祌方法?例如,n=m=3,有两个 ...
- 洛谷P3938 斐波那契
题目戳 题目描述 小 C 养了一些很可爱的兔子. 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行 繁衍:一对兔子从出生后第二个月起,每个月刚开始的时候都会产下一对小兔子 ...
- 【洛谷2617_BZOJ1901】Dynamic Rankings(树套树)
题目: 洛谷 2617 BZOJ 1901 是权限题,\(n=10^4\) ,内存 128 MB :洛谷 2617 \(n=10^5\) ,内存 1024 MB ,数据比较坑. 分析: 蒟蒻初学树套树 ...
- 洛谷P1880 [NOI1995]石子合并 纪中21日c组T4 2119. 【2016-12-30普及组模拟】环状石子归并
洛谷P1880 石子合并 纪中2119. 环状石子归并 洛谷传送门 题目描述1 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石 ...
随机推荐
- Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题
Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题 问题描述: 我实在是太懒了,问题描述抄的网上的哈哈哈:https://www.jianshu.com/p/6ab7afa05 ...
- 小白入门AI教程:教你快速搭建大数据平台『Hadoop+Spark』
Apache Spark 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源 ...
- transition动画最简使用方式
HTML <a href="#" title="">test</a> CSS a {display:block; width:200px ...
- EXP-00000: Message 0 not found; No message file for product=RDBMS, facility=EXP问题的解决方案
EXP-00000: Message 0 not found; No message file for product=RDBMS, facility=EXP 最近在服务器上准备做一个批处理,定时备份 ...
- Codeforces Round #562 (Div. 2) B. Pairs
链接:https://codeforces.com/contest/1169/problem/B 题意: Toad Ivan has mm pairs of integers, each intege ...
- 牛客网练习赛34-D-little w and Exchange(思维题)
链接:https://ac.nowcoder.com/acm/contest/297/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- net core 2.0 web api + Identity Server 4 + angular 5
net core 2.0 web api + Identity Server 4 + angular 5前台使用angular 5, 后台是asp.net core 2.0 web api + ide ...
- mysql 无法启动 unkown command
1. https://serverfault.com/questions/490656/mysql-not-starting-error-usr-sbin-mysqld-unknown-option- ...
- docker 开启remote api
docker官方文档上有相关说明(Configure and run Docker on various distributions),ubuntu上是可行的 sudo vi /etc/default ...
- LinkedList源码及原理
简介 内部结构分析 LinkedList源码分析 构造方法 添加(add)方法 根据位置取数据的方法 根据对象得到索引的方法 检查链表是否包含某对象的方法: 删除(remove/pop)方法 Link ...