摘要: 此题A得艰难,应该是有很多组数据吧,使得容易超时。直接求出组合数是不可能的,因而,只能把各个数都计算其各素因子个数,再计算即可。而直接计算,必定是要超时的,所以,只好先预处理所有结果,再输出了。首先筛选素数,分解0~440的素因子。然后,Cnk=(n*(n-1)*(n-2)*...(n-k+1))/... 阅读全文
posted @ 2014-09-12 21:24 chenjunjie1994 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 此题的主要还是如何把小数化作分数来解答。设p/q。对于二进制(三进制,四进制一样),若p>q便商1,取mod,p*2-->p,然后再作p/q,若p#include #include #include #define LL __int64using namespace std;LL fac[10000... 阅读全文
posted @ 2014-09-12 19:39 chenjunjie1994 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 这里面的一个转换的小技巧很重要,把888...8转换成(10^x-1)/9*8。神来之笔,佩服。这样有(10^x-1)/9*8=L*p得10^x-1=L*p*9/8,设m=9*L/gcd(L,8)。这一步如何想到的呢?其实是为了使m与10互质而做的。因为这样必有m*p1=10^x-1。使得同余方程1... 阅读全文
posted @ 2014-09-12 11:02 chenjunjie1994 阅读(294) 评论(0) 推荐(0) 编辑