Lucas定理及拓展
DZYO
Never stop
展开
-
BZOJ2982: combination(Lucas定理)
传送门题意: 求大组合数在Mod p意义下的值,p为质数。题解: 显然是裸的Lucas定理题。C(n,m)=C(n%p,m%p)∗C(n/p,m/p)C(n,m)=C(n\%p,m\%p)*C(n/p,m/p).线筛一波逆元水掉此题。#include<bits/stdc++.h>using namespace std;const int Mod=10007;int inv[Mod],fac[原创 2017-09-13 18:29:56 · 326 阅读 · 0 评论 -
BZOJ2142:礼物(扩展Lucas)
传送门题意: 求大组合数模p,p不是质数。题解: 扩展lucas。 首先,将p质因数分解,得到 x≡a1(modpk11)x≡a2(modpk22)...x≡an(modpknn)x\equiv a_1 \pmod {p_1^{k_1}}\\x\equiv a_2 \pmod {p_2^{k_2}}\\\\...\\x\equiv a_n \pmod {p_n^{k_n}}\\ 这个可原创 2017-09-14 11:03:00 · 442 阅读 · 0 评论 -
BZOJ1951: [Sdoi2010]古代猪文(Lucas定理)
传送门题意: 求大组合数。题解: 对于此题直接拆分质因数加上lucas加上CRT就好了。这里还有一道加强版:BZOJ2142: 礼物题解: BZOJ2142:礼物(扩展Lucas)#include<bits/stdc++.h>using namespace std;typedef long long ll;ll n,G,lim,ans,aa,bb;ll prime[4]={2,3,4679原创 2017-09-14 15:40:33 · 568 阅读 · 0 评论 -
Codeforces #441 Div1.D:(扩展Lucas)
传送门题意: 给定nn,p(n≤1e5,q≤2e9),l,rp(n\le 1e5,q\le 2e9),l,r,求所有长度为n的序列,满足每一位可以是A,B,C,且任意前缀A的和大于B的和,且总的A−B∈[l,r]A-B\in[l,r]。题解: http://codeforces.com/blog/entry/56135这个转化太妙了,大概是类似找代表元的思想。之后推导后可以用扩展Lucas求组合原创 2017-12-18 22:51:35 · 297 阅读 · 0 评论 -
计蒜之道2017复赛:商汤智能机器人(组合数学)
传送门题解:日常划水。。枚举一下步数,其实是要求∑t=0b(a+tb)(bt)\sum_{t=0}^b \binom{a+t}{b}\binom{b}{t}∑t=0b(ba+t)(tb)。不妨记其为S(a,b)S(a,b)S(a,b),发现模数很小,于是可以根据lucas定理递归到S(a/p,b/p)S(a/p,b/p)S(a/p,b/p)和S(a/p+1,b/p)S(a/p+1,b...原创 2018-11-07 22:22:17 · 324 阅读 · 0 评论