摘要:
题目链接:http://www.spoj.com/problems/FIBPOL/ 题目大意:F(n) 为斐波那契数列,现规定A(x) = Sn(Xn*F(n)) ,即A(n)为数列Xn*F(n)的前N项和,给定A(x)的值,问此时其对应X是否为一个有理数。 解题思路:首先我们可以计算出来一部分X对 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6168 题目大意:将a[i] + a[j] n >= j > i >= 1的结果放在b数组中。现在将a,b的数据混在一块,请将原始的a数据顺序输出,题目保证有且仅有一组解,并且a数组是非递减的。 解题思路 阅读全文
摘要:
题目链接:http://www.spoj.com/problems/HG/ 题目大意:分别给N个和M个小于等于1e9的数,前N个数相乘为A,后M个数相乘为B,问你GCD(A, B) 1<= N<= 1000,1 <=M <= 1000 解题思路:枚举a[i] 和b[i],计算两者GCD,然后结果乘以 阅读全文
摘要:
题目链接:http://www.spoj.com/problems/BLAMOEBA/ 题目大意:有一种叫做阿米巴的虫子一天能分裂成M个虫子。现有X个这种虫子,从第一天开始进行分裂,每次分裂之后就取走Y个,问如果要第N天取走之后不再有虫子剩余,并且X尽可能小,那么X和Y应该为多少。2 < M < 1 阅读全文
摘要:
题目链接:http://www.spoj.com/problems/DIVISION/ 题目大意:求0~2n-1 中有多少个数字能被3整除(包括0 和2n-1)。 n <= 2e18, 答案对 mod = 1e9 + 7取余。 解题思路:通过分析可以发现个数是 (2n / 3 + 1) % mod 阅读全文
摘要:
一些常用的简单数论模板以及书中的定理 组合数取模 1:N M < 1000, 杨辉三角双循环,边加边取模(代码未添加取模) 2. C(n, k) = C(n, k - 1) * (n - k + 1) / k,对2~maxn的逆元打表后,利用这个公式可以O(n)时间内求出C(n, k) GCD求最大 阅读全文
摘要:
题目链接:·http://www.spoj.com/problems/DCEPCA03/ 题目大意:欧拉函数为totient(n),请你计算 H=0;For (i=1; i<=n; i++) { For (j=1; j<=n; j++) { H = H + totient(i) * totient( 阅读全文
摘要:
题目链接:http://www.spoj.com/problems/FACVSPOW/ 题目大意:给定底数a,问什么时候n! 超过 an. 1 <= t <= 100000 2 <= a <= 106 解题思路:等价于计算 使1*2*3*4*5*...*k / ak > 1 的 k。直接计算必然溢出 阅读全文
摘要:
题目链接:http://www.spoj.com/problems/GOO/ 题目大意:求n个二进制为能够组成多少个数以及组成这些数需要多少个1. 例如3位可以组成 100 101 110 111 这四个数,共需要8个数字。 解题思路:很简单的一道题,但是一定要注意溢出!!! 1 << x 如果超出 阅读全文
摘要:
题目链接:http://www.spoj.com/problems/CZ_PROB1/ 题目大意:Sp2 是所有素数中能够被分解为两个数的平方和的素数的集合。P(a,b)指的是在a的划分中,最大元素不超过b的划分的个数(就是那个经典整数划分动态规划题)。给你个n,k,问P(sp2[n],k)是多少。 阅读全文