POJ1845-Sumdiv大数约数和】的更多相关文章

poj1845 Sumdiv 数学题 令人痛苦van分的数学题! 题意:求a^b的所有约数(包括1和它本身)之和%9901 这怎么做呀!!! 百度:约数和定理,会发现 p1^a1 * p2^a2 * ... * pn^an这个数的约数和是:(1 + p1 + p1^2 + ... + p1^a1) * (1 + p2 + ... + p2^a2) * ... * (1 + pn + ... + pn^an) 证明:由乘法原理可直接证明 然后我们对于a^b运用这个公式即可.那么对于 (1 + pi…
POJ1845:http://poj.org/problem?id=1845 思路: AB可以表示成多个质数的幂相乘的形式:AB=(a1n1)*(a2n2)* ...*(amnm) 根据算数基本定理可以得约数之和sum=(1+a1+a12+...+a1n1)*(1+a2+a22+...+a2n2)*...*(1+am+am2+...+amnm) mod 9901 对于每个(1+ai+ai2+...+aini) mod 9901=(ai(ni+1)-1)/(ai-1) mod 9901 (等比数列…
最近应老延的要求再刷<算法进阶指南>(不得不说这本书不错)...这道题花费了较长时间~(当然也因为我太弱了)所以就写个比较易懂的题解啦~ 原题链接:POJ1845 翻译版题目(其实是AcWing上的): 假设现在有两个自然数A和B,S是AB的所有约数之和. 请你求出S mod 9901的值是多少. 输入格式 在一行中输入用空格隔开的两个整数A和B. 输出格式 输出一个整数,代表S mod 9901的值. 数据范围 0≤A,B≤5×107 输入样例: 2 3 输出样例: 15 注意: A和B不会…
题目链接:http://poj.org/problem?id=1845 题目大意: 求A^B的所有约数和s.A和B都很大(0<=A,B<=50000000). 题目分析: 这道题让我学会了很多东西,很多我之前没有见识过的专属于数学的技巧之类的.看了别人的博客,受益匪浅.现总结如下: 先来分析一下这道题目,再来讲技巧吧. 这道题真是大数中的大数.刚看到这道题就完全没有头脑.全凭小优的指点(http://blog.csdn.net/lyy289065406) . (1) 整数唯一分解定理 任何整数…
题目传送门 Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 26041   Accepted: 6430 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…
题目问$A^B$的所有因数和. 根据唯一分解定理将A进行因式分解可得:A = p1^a1 * p2^a2 * p3^a3 * pn^an.A^B=p1^(a1*B)*p2^(a2*B)*...*pn^(an*B);A^B的所有约数之和sum=[1+p1+p1^2+...+p1^(a1*B)]*[1+p2+p2^2+...+p2^(a2*B)]*[1+pn+pn^2+...+pn^(an*B)] 知道这个,问题就变成求出A的所有质因数pi以及个数n,然后$\prod(1+p_i+p_i^2+\cd…
正解:小学数学数论 解题报告: 传送门! 其实不难但我数学这个方面太菜了所以还是多写点儿博客趴QAQ 然后因为是英文的所以先翻译一下,,,? 大概就是说求AB的所有约数之和,对9901取膜 这个只需要知道一个小学奥数知识点就欧克了? 就,对D质因数分解成D=w1p1*w2p2*w3p3*... 那D的约数的和就(w10+w11+...+w1p1)*... 然后就可以直接对A质因数分解,直接套上面这个式子只是上限变成了w1B*w1 然后就做完了,,,? 可能晚上放代码趴QAQ?…
题目: 求AB的正约数之和. 输入: A,B(0<=A,B<=5*107) 输出: 一个整数,AB的正约数之和 mod 9901. 思路: 根据正整数唯一分解定理,若一个正整数表示为:A=p1^c1 * p2^c2 * ...... pm^cm 则其正约数之和可以表示为:S=(1+p1+p1^2+......p1^c1)*(1+p2+p2^2+......p2^c2)*......(1+pm+pm^2+......pm^cm) 那么AB就可以表示为:S'=(1+p1+p1^2+......p1…
当初写过一篇分治的 题意:求A^B的所有因子之和,并对其取模 9901再输出 对于数A=p1^c1+p2^c2+...+pn*cn,它的所有约数之和为(1+p1+p1^2+p1^3+...+p1^(c1*B))*(1+p2+p2^2+p2^3+...+p2^(c2*B))*...*(1+pn+pn^2+pn^3+...+pn^(cn*B)) 注意到约数之和的每一项都是等比数列,可以用通项搞他,先用快速幂计算分子,再求出分母的乘法逆元. 特别地,当分母pi-1为9901的倍数时,乘法逆元不存在,但…
首先分解质因数,$A^B=p_1^{m_1B}p_2^{m_2B}...p_n^{m_nB}$ 然后的话,它的所有因数的和就是$\prod{(1+p_i^1+p_i^2+...+p_i^n)}$ 用一个等比数列求和公式,变成了$\prod{\frac{p_i^{m_iB+1}-1}{p_i-1}}$ 但是要求逆元的话,它的模数很小,可能求不了 所以在算$p_i^{n+1}-1$的时候先模的是$mod*(p_i-1)$,然后直接除以$p_i-1$,一定能整除 最后再模一边mod就行了 #inclu…
传送门 大意:求A^B的所有因子之和,并对其取模 9901再输出 (这题又调了半天,把n和项数弄混了QAQ) 根据算数基本定理:A=(p1^k1)*(p2^k2)*(p3^k3)*...*(pn^kn) (pi为素数) 则A的所有因子之和Sum=(1+p1+p1^2+p1^3+...p1^k1) * (1+p2+p2^2+p2^3+….p2^k2) * (1+p3+ p3^3+…+ p3^k3) * .... * (1+pn+pn^2+pn^3+...pn^kn) 那么A^B = p1^(k1*…
快考试了,把我以前写过的题回顾一下.Noip2007 树网的核:floyd,推出性质,暴力.Noip2008 笨小猴:模拟Noip2008 火柴棒等式:枚举Noip2008 传纸条:棋盘dpNoip2008 双栈排序:将复杂条件转化为简单约束,二分图染色判断可行性,模拟.Noi2010 能量采集:常见套路,求:ΣΣgcd(i,j),设t = gcd(i,j),能算出gcd=t的点对有(n/t) * (m/t)个,然后利用容斥原理减去2t,3t,……,kt的,倒序枚举.Noip2009 潜伏者:模…
题目: POJ1845 分析: 首先用线性筛把\(A\)分解质因数,得到: \[A=p_1^{a_1}*p_2^{a_2}...*p_n^{a_n} (p_i是质数且a_i>0) \] 则显然\(A^B\)分解质因数后为 \[A=p_1^{a_1B}*p_2^{a_2B}...*p_n^{a_nB} (p_i是质数且a_i>0) \] 接下来隆重推出约数和定理:(证明见[知识总结]约数个数定理和约数和定理及其证明) \[Sum=\prod_{i=1}^n \sum_{j=0}^{a_i}p_i…
Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16244 Accepted: 4044 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).…
Sumdiv 题目连接: http://poj.org/problem?id=1845 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 only line contains the two natur…
[POJ 1845] Sumdiv 用的东西挺全 最主要通过这个题学了约数和公式跟二分求等比数列前n项和 另一种小优化的整数拆分  整数的唯一分解定理: 随意正整数都有且仅仅有一种方式写出其素因子的乘积表达式. A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn)   当中pi均为素数 约数和公式: 对于已经分解的整数A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 有A的全部因子之和为 S = (1+p1+p1^2+p1^3+...p1^k1…
题目链接:http://poj.org/problem?id=1845 定义: 满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元. 为什么要有乘法逆元呢? 当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元. 我们可以通过求b关于p的乘法逆元k,将a乘上k再模p, 即(a*k) mod p.其结果与(a/b) mod p等价.  题目解析:让求a^b的因子和modk,因为是大数没法直接求,因为求因子和函数是乘性函数,所以首先要质因子分解,化成…
题目地址 看到这题的题解,大佬都说是小学奥数,蔡得我不敢鸡声. 求 \(a^b\) 所有的约数之和 mod \(9901\) \((1<=a,b<=5*10^7)\) 题解 做这道题,我还赶紧去看了一下 唯一分解定理 我们先把 \(a\) 分解质因数 \[a=p_1^{c_1}*p_2^{c_2}*...*p_n^{c_n}\] 比如说 \(12\) 可以分成 \(2^2+3^1\) 啦 因为 同指数幂相乘,指数不变,底数相乘 ,所以就有: \[a^b=p_1^{c_1*b}*p_2^{c_2…
描述 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). 输入 The only line contains the two natural numbers A and B, (0 <= A,B <= 50000000)separated by…
题意:求A^B的因子的和. /* 首先将A分解 A=p1^a1*p2^a2*...*pn*an A^B=p1^a1B*p2^a2B*...*pn*anB 因子之和sum=(1+p1+p1^2+...+p1^a1B)*...*(1+pn+pn^2+...+pn*anB) 套用等比数列的公式,再用逆元搞一下. 求逆元:(a/b)mod m=amod(bm)/b */ #include<cstdio> #include<iostream> #define N 10010 #define…
题面戳这里 啥都别看,只是求 \(a^b\)所有的因数的和 思路: 真没想到! 其实我们可以先将\(a^b\)分解成质因数的 因为\(a^b\)的因数肯定是\(a^b\)的质因数在一定的条件下相乘而成的 然后组合一下 正解!!! h^ovny:走开!别误导别人! 来一波公式: \(a=\Pi^n_{i=1}p[i]^{c[i]}\) \(a^b=\Pi^n_{i=1}p[i]^{c[i]*b}\) 所有因数的和: \(Ans=\Pi_{i=1}^n\Sigma^{k[i]}_{j=0}p[i]^…
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,…
Sumdiv Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 15364   Accepted: 3790 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…
筛选法+求一个整数的分解+快速模幂运算+递归求计算1+p+p^2+````+p^nPOJ 1845 Sumdiv求A^B的所有约数之和%9901 */#include<stdio.h>#include<math.h>#include<iostream>#include<algorithm>#include<string.h>using namespace std;#define MOD 9901const int MAXN=10000;int p…
P4714 「数学」约数个数和 题意(假):每个数向自己的约数连边,给出\(n,k(\le 10^{18})\),询问\(n\)的约数形成的图中以\(n\)为起点长为\(k\)的链有多少条(注意每个点都有自环) 这样想是做不出来题的. 正常的题意是:询问\(n\)的约数的约数的....(共\(k\)次复读后)约数个数和. 考虑\(f_k(n)\)表示答案. 显然有\(f_{k}(n)=\sum_{d|n}f_{k-1}(d)\) 注意到用数论卷积的形式可以表示为 \[ \mathtt f_k=\…
sumdiv(POJ 1845) Description 给定两个自然数A和B,S为A^B的所有正整数约数和,编程输出S mod 9901的结果. Input Format 只有一行,两个用空格隔开的自然数A和B(0<=A,B<= 50000000). Output Format 只有一行,即S mod 9901的结果. Sample Input 2 3 Sample Output 15 解析 这是一道数学推导+分治的简单运用,大体思路如下. 由算数基本定理可得: \[A=p_1^{a_1}*…
1633:[例 3]Sumdiv 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 原题来自:Romania OI 2002 求 ABAB 的所有约数之和 mod9901. [输入] 输入两个整数 A,B. [输出] 输出答案 mod9901. [输入样例] 2 3 [输出样例] 15 [提示] 样例说明 23=8,8 的所有约数为 1,2,4,8,1+2+4+8=15,15mod9901=15,因此输出 15. 数据范围与提示: 对于全部数据,0≤A,B…
POJ1845 首先把A写成唯一分解定理的形式 分解时让A对所有质数从小到大取模就好了 然后就有:A = p1^k1 * p2^k2 * p3^k3 *...* pn^kn 然后有: A^B = p1^(k1*B) * p2^(k2*B) *...* pn^(kn*B); 约数和公式: 对于已经分解的整数A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 有A的所有因子之和为 S = (1+p1+p1^2+p1^3+...p1^k1) * (1+p2+p2^2+p2^3…
题目链接 Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 25841   Accepted: 6382 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…
扩展欧几里得是用于求解不定方程.线性同余方程和乘法逆元的常用算法. 下面是代码: function Euclid(a,b:int64;var x,y:int64):int64; var t:int64; begin then begin x:=;y:=;exit(a); end else begin Euclid:=Euclid(b,a mod b,x,y); t:=x;x:=y;y:=t-(a div b)*y; end; end; 下面出现了其中后两个应用.(虽然个人认为不定方程和同余方程可…