摘要: 题目链接:http://www.spoj.com/problems/DIVISION/ 题目大意:求0~2n-1 中有多少个数字能被3整除(包括0 和2n-1)。 n <= 2e18, 答案对 mod = 1e9 + 7取余。 解题思路:通过分析可以发现个数是 (2n / 3 + 1) % mod  阅读全文
posted @ 2017-08-21 21:22 EricJeffrey 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一些常用的简单数论模板以及书中的定理 组合数取模 1:N M < 1000, 杨辉三角双循环,边加边取模(代码未添加取模) 2. C(n, k) = C(n, k - 1) * (n - k + 1) / k,对2~maxn的逆元打表后,利用这个公式可以O(n)时间内求出C(n, k) GCD求最大 阅读全文
posted @ 2017-08-21 19:22 EricJeffrey 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题目链接:·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( 阅读全文
posted @ 2017-08-21 19:14 EricJeffrey 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.spoj.com/problems/FACVSPOW/ 题目大意:给定底数a,问什么时候n! 超过 an. 1 <= t <= 100000 2 <= a <= 106 解题思路:等价于计算 使1*2*3*4*5*...*k / ak > 1 的 k。直接计算必然溢出 阅读全文
posted @ 2017-08-21 16:33 EricJeffrey 阅读(228) 评论(2) 推荐(0) 编辑
摘要: 题目链接:http://www.spoj.com/problems/GOO/ 题目大意:求n个二进制为能够组成多少个数以及组成这些数需要多少个1. 例如3位可以组成 100 101 110 111 这四个数,共需要8个数字。 解题思路:很简单的一道题,但是一定要注意溢出!!! 1 << x 如果超出 阅读全文
posted @ 2017-08-21 15:53 EricJeffrey 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.spoj.com/problems/CZ_PROB1/ 题目大意:Sp2 是所有素数中能够被分解为两个数的平方和的素数的集合。P(a,b)指的是在a的划分中,最大元素不超过b的划分的个数(就是那个经典整数划分动态规划题)。给你个n,k,问P(sp2[n],k)是多少。 阅读全文
posted @ 2017-08-21 15:10 EricJeffrey 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://arc081.contest.atcoder.jp/tasks/arc081_c 题目大意:给你一个字符串,问不是这个字符串的最短字典序最小子序列是什么。如果一个字符串t是字符串s的子串,那么t可以由s通过删除0个或多个字符得到。 解题思路:我们先来确定字符串的长度,然后再通 阅读全文
posted @ 2017-08-21 10:30 EricJeffrey 阅读(135) 评论(0) 推荐(0) 编辑