2016年2月24日

hdu 4704 Sum 费马小定理

摘要: 题目链接 求2^n%mod的值, n<=10^100000。 费马小定理 如果a, p 互质, 那么a^(p-1) = 1(mod p) 然后可以推出来a^k % p = a^(k%(p-1))%p。 #include <iostream> #include <vector> #include <c 阅读全文

posted @ 2016-02-24 20:29 yohaha 阅读(162) 评论(0) 推荐(0) 编辑

hdu 4349 Xiao Ming's Hope lucas

摘要: 题目链接 给一个n, 求C(n, 0), C(n, 1), ..........C(n, n)里面有多少个是奇数。 我们考虑lucas定理, C(n, m) %2= C(n%2, m%2)*C(n/2, m/2)%2, C(n/2, m/2) = C(n/2%2, m/2%2)*C(n/2/2, m 阅读全文

posted @ 2016-02-24 20:13 yohaha 阅读(145) 评论(0) 推荐(0) 编辑

hdu 3037 Saving Beans lucas定理

摘要: 题目链接 给n, m, p, 求sigma(i = 0 to m) C(n-1+i, n-1)%p的值。 C(n-1, n-1)+C(n-1+1, n-1)+C(n-1+2, n-1)+....... = C(n-1, 0)+C(n, 1)+C(n+1, 2)+.... = C(n, 0)+C(n, 阅读全文

posted @ 2016-02-24 19:47 yohaha 阅读(177) 评论(0) 推荐(0) 编辑

codeforces 622E. Ants in Leaves

摘要: 题目链接 给一棵有根树, 每个叶子节点上有一只蚂蚁。 在0时刻蚂蚁开始向上爬, 同一时刻, 除了根节点以外, 一个节点上面不能有2个蚂蚁。 问所有的蚂蚁都爬到根节点需要的最短时间。 因为除了根节点, 一个节点上面只能有一个蚂蚁, 所以我们将根节点去掉, 于是就有了一个森林。 时间就是所有子树里面花费 阅读全文

posted @ 2016-02-24 18:28 yohaha 阅读(373) 评论(0) 推荐(0) 编辑

codevs 1515 跳 贪心+lucas

摘要: 题目链接 一个人初始在(0, 0), 想到(n, m)去, 没到一个格子, 花费的值为C(n, m), 求最小值。 C(n, m)的定义为, 如果n==0||m==0, 则为1, 否则C(n, m) = C(n-1, m)+C(n, m-1)。 很容易看出来贪心的策略, 先横着或竖着走max(m, 阅读全文

posted @ 2016-02-24 16:21 yohaha 阅读(236) 评论(0) 推荐(0) 编辑

codeforces 451E. Devu and Flowers 容斥原理+lucas

摘要: 题目链接 给n个盒子, 每个盒子里面有f[i]个小球, 然后一共可以取sum个小球。问有多少种取法, 同一个盒子里的小球相同, 不同盒子的不同。 首先我们知道, n个盒子放sum个小球的方式一共有C(sum+n-1, n-1)种, 但是这个题, 因为每个盒子里的小球有上限, 所有用刚才那种方法不行。 阅读全文

posted @ 2016-02-24 15:50 yohaha 阅读(212) 评论(0) 推荐(0) 编辑

codeforces 609F. Frogs and mosquitoes 二分+线段树

摘要: 题目链接 F. Frogs and mosquitoes time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output There are n 阅读全文

posted @ 2016-02-24 09:14 yohaha 阅读(225) 评论(0) 推荐(0) 编辑

导航