洛谷 P1593 因子和 || Sumdiv POJ - 1845】的更多相关文章

以下弃用 这是一道一样的题(poj1845)的数据 没错,所有宣称直接用逆元/快速幂+费马小定理可做的,都会被hack掉(包括大量题解及AC代码) 什么原因呢?只是因为此题的模数太小了...虽然9901是质数,但是要求逆元的数完全可能是9901的倍数,从而与9901不互质,从而没有逆元 事实上,只要a是质数且a-1是9901的倍数,就可以hack了 如果涉及版权问题,不能用poj讨论版数据,额外提供几组数据: 217823 1 答案1 950497 1 答案1 另外还有一些程序在处理大数相乘取模…
类似的因为模数比较小的坑还有卢卡斯定理那道,也是有时候逆元会不存在,因为整除了.使用一些其他方法避免通过逆元. https://www.luogu.org/fe/problem/P1593 有坑.一定要好好理解费马小定理等逆元存在的条件.费马小定理求逆元的条件是p是质数且a不为0,扩展欧几里得算法的条件是a,m互质. 那么上面用费马小定理求等比数列的分母的逆元的时候,就没有判断a不为0.而他们也不互质所以也不能使用扩展欧几里得算法. 其实当a为0的时候这个退化为等差数列. #include<bi…
题面 这道题在数学方面没什么难度: 对于每一个正整数n: 质因数分解后可以写成n=a1^k1a2^k2……*ai^ki 所求的数的因数和f(n)就等于f(n)=(1+a1+a1^2+……+a1^k1)(1+a2+a2^2+……+a2^k2)……*(1+ai+ai^2+……+ai^ki) 利用等比数列通项公式可以O(1)的时间算出每一项: 然后可以使用扩展欧几里得,费马小定理或求解逆元. 但,仅仅是这样吗? 注意,模数p是9901,十分的小,但是要求逆元的数完全可能是9901的倍数,从而与9901…
To 洛谷.1886 滑动窗口 To POJ.2823 Sliding Window 题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值. 例如: The array is [1 3 -1 -3 5 3 6 7], and k = 3. 输入输出格式 输入格式: 输入一共有两行,第一行为n,k. 第二行为n个数(<INT_MAX). 输出格式: 输出共两行,第一行为每次窗口滑动的最小值…
http://poj.org/problem?id=1845 题目 Time Limit: 1000MS   Memory Limit: 30000K Description Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S modulo 9901 (the rest of the division of S by 9901). Input The…
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…
题目描述 输入两个正整数a和b,求a^b的因子和.结果太大,只要输出它对9901的余数. 输入输出格式 输入格式: 仅一行,为两个正整数a和b(0≤a,b≤50000000). 输出格式: a^b的因子和对9901的余数. 输入输出样例 输入样例#1: 2 3 输出样例#1: 15看似不可做,其实非常简单任意正整数都有且只有一种方式写出其素因子的乘积表达式.A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn)其中 pi 均为素数那么A^B=(p1^(k1*B))*(p2^…
#include <iostream>#include <algorithm>#include <cstring>using namespace std; const int N = 10000+50;bool isprime[N];int prime[N/2],pn;int ans[N];void getPrimes(int maxn){ pn = 0; memset(isprime,true,sizeof(isprime)); isprime[0] = isprim…
Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S modulo 9901 (the rest of the division of S by 9901). Input The only line contains the two natural numbers A and B, (0 <= A,B <= 50000000)separated by…
约数和 题目描述 给出a和b求a^b的约数和. 输入格式: 一行两个数a,b. 输出格式: 一个数表示结果对 9901 的模. Input 2 3 Output 15 SB的思路: 这是一道典型的数论题,本蒟蒻在做的时候首先瞄出a为质数的解法(简直废话,是个人都看得出), 即sum(a,b)=a^0+a^2+a^3+···+a^(b-1)+a^b,然后自以为搞出了什么,结果随手举个反例就Wa了,但是很明显也很容易想到要用快速幂. 然后我又想到洛谷月赛T1,以及一道要用到费马小定理的题目,加上我打…