摘要:
题意:求n!在b进制下末尾零的个数和位数, \(n\leq 2^{20}, 1<b\leq 800\)。思路:n!在b进制下的位数可以用log(n!)/log(b)得到;n!末尾零的个数可以通过求因子b的个数得到,由于n很大,可以把b分解成质因子,假设第i个质因子个数为\(p_i\),然后统计出n!种对应质因子个数,假设对应n!种所含第i个质因子个数为\(s_i,所求为:\min \{\frac{s_i}{p_i}\}\)。两个回答都可以打表(800以内有145个质数)。 阅读全文
摘要:
题意:用1-26表示'A'-'Z',这样一个大写的字符串就能转化为一串数字(编码),现在给出一串数字,问对应多少种编码?给出的数字至少有一种编码(合法)。样例:input:25114111111111133333333330output:6891思路:假设给出的都是1,相邻的两个有两种方式:1 1 // 11,假设串的长度为n,编码方式有fibo(n)种(fibo(1)=1, fibo(2)=2);只需要考虑从哪里断开,然后几段用乘法原理就行了。几个数据:1101012726对应输出:1112 阅读全文