摘要: 一个数字能被3整除就等价于这个数的各个数字之和被3整除。所以一开始的时候先要拿一个能使剩下的数字是3的倍数的数。然后就一直拿0、3、6、9直到某人不能再拿为止。 1 #include 2 #include 3 4 const int maxn = 1000 + 10; 5 char s[max... 阅读全文
posted @ 2015-03-22 22:50 AOQNRMGYXLMV 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 输出第n个回文数。规律就是一位和两位的回文数各有9个,三位四位的回文数各有90个,以此类推。给出n,可以先判定一下第n个回文数的位数,然后后面也不难推,但是有很多细节需要注意。 1 #include 2 #include 3 #include 4 using namespace std; 5 ... 阅读全文
posted @ 2015-03-22 22:27 AOQNRMGYXLMV 阅读(320) 评论(0) 推荐(0) 编辑
摘要: n个人里选k个人有C(n, k)中方法,再从里面选一人当队长,有k中方法。所以答案就是第一步的变形只要按照组合数公式展开把n提出来即可。 1 #include 2 3 typedef long long LL; 4 const LL M = 1000000007; 5 6 LL pow(int... 阅读全文
posted @ 2015-03-22 18:36 AOQNRMGYXLMV 阅读(261) 评论(0) 推荐(0) 编辑
摘要: n个可重复的元素的排列一共有= All种,其中假设这些数依次为ai,每种数字有mi个。从右往左考虑第d位数(d≥0),第i个数字出现的次数为,那么这个数字对所求答案的贡献为其实可以先一次求出个位上每种数字对答案的贡献,然后乘上 1 #include 2 #include 3 using name... 阅读全文
posted @ 2015-03-22 16:48 AOQNRMGYXLMV 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 首先有个关键性的结论就是一个数的合数幂就是超级幂。最小的合数是4,所以枚举底数的上限是pow(2^64, 1/4) = 2^16 = 65536对于底数base,指数的上限就是ceil(64*log(2)/log(base)),注意这个上限不能取到,是个开区间 1 #include 2 #incl... 阅读全文
posted @ 2015-03-22 14:34 AOQNRMGYXLMV 阅读(433) 评论(0) 推荐(0) 编辑