摘要: 题意是让你求一个最小的N, 使得N!有M个0,N的阶乘中2的因子是远多于5的因子的个数, 因此我们统计出5的个数就知道其后面有几个0,对于一个数mid, mid!中5的因子的个数为mid/5 + mid/25 + mid/5^3 + ... 可以发现mid越大mid!中的5的个数越多, 因此我们可以 阅读全文
posted @ 2016-02-24 22:53 xing-xing 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是给你两个数m, k, 让你求出与m互质的第k个数, 设想对于一个数r,我们可以求出小于等于r与m互质的数的个数, 那么我们就可以使用二分很快的求解。 假设我们把m唯一分解 m = p1^a1 * p2^a2 * ... * pi^ai, 那么小于等于r与m互质的数中不应该有p1 p2 阅读全文
posted @ 2016-02-24 21:33 xing-xing 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 这个题的意思是给你n+1个数, a1 a2 ... an an+1 其中 1<=ai<=M i!=n+1 an+1 = M, 求解存在x1..xn+1使x1*a1+x2*a2+x3*a3+..+xn+1*an+1 = 1的a序列的个数, 由数论部分知识我们可以知道上式要满足就得使(a1, a2, a 阅读全文
posted @ 2016-02-24 16:48 xing-xing 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 这道题的本质是将n个物品分成k堆, 每堆物品个数大于0小于等于m的方案数。 我们定义d[i][j]为前i堆物品总数为j的方案数, 那么d[i][j]的求解方法如下:其可化为d[i][j] = d[i][j-1] + d[i-1][j-1]+d[i-1][j-1-m]. 初始条件为d[0][0] = 阅读全文
posted @ 2016-02-24 14:11 xing-xing 阅读(843) 评论(0) 推荐(0) 编辑