题目传送门 matthew99神犇的题解讲得非常清楚明白,跪烂Orzzzzzzzzzzzzz 总结一下,本题有很多重要的突破口 1.Lucas定理 看到n,m特别大但模数特别小时,容易想到$lucas$定理 $C_{n}^{m}=C_{n/p}^{m/p}\cdot C_{n\;mod\;p}^{m ...
分类:
其他好文 时间:
2019-02-08 21:37:30
阅读次数:
190
CTSC水题! 做这道题你得了解Lucas定理才行。当模数小的时候,C(n,m)可以转换为Π C(ai,bi),其中ai和bi分别是n和m在mod进制下的每一位。本题mod为2,所以就是二进制下的Π。 你想让连乘大于0,那么所有的都应该等于1.那么对于任意ai,bi,必须有ai>=bi。即b是a的子 ...
分类:
其他好文 时间:
2019-01-17 17:52:09
阅读次数:
169
卢卡斯定理Lucas 在数论中,$Lucas$定理用于快速计算$C^m_n ~ \% ~p$,即证明$C^m_n = \prod_{i = 0} ^kC^{m_i}_{n_i}$其中$m_i$为$m$的因式分解,$n_i$为$n$的因式分解,$p$为质数。 由$Edward~Lucas$在1878年 ...
分类:
其他好文 时间:
2019-01-07 20:55:30
阅读次数:
180
就是运用$Lucas$推一个柿子 首先是前置芝士$Lucas$定理 $$C_{n}^{m}\%p=C_{n/p}^{m/p} C_{n\%p}^{m\%p}\%p$$ 至于证明 ~~我建议去问一下Lucas本人~~ 至于这道题,我们要求的是这个柿子 $$\sum_{i=0}^kC_{n}^i\%p$ ...
分类:
其他好文 时间:
2019-01-01 22:49:49
阅读次数:
252
"?传送门?" Solution 输入一个长度为n的数列,求有多少个长度大等于2的不上升子序列满足: $$\prod_{i=2}^{k} C(a_{b_{i 1}},a_{b_i}) mod\ 2 0 $$ 答案对1e9+7取模 根据Lucas定理: $$C\ (n,\ m)\ ≡\ C\ (\fr ...
分类:
其他好文 时间:
2018-11-26 02:36:33
阅读次数:
203
题意:走马步,要求向右向下,不能走进禁止的点。求方案数。 思路:若是n*m比较小的话,那么可以直接DP。但是这道题目不行。不过我们仔细分析可以知道从某个点到某个点是一个组合数,但是数据太大,mod值很小,所以只能用Lucas定理。然后DP一下到某个点不经过之前的点的方案数一直推下去就可以得到最终答案 ...
分类:
其他好文 时间:
2018-11-06 22:30:05
阅读次数:
188
Lucas定理是用来求$C(n,m) mod $ p, p为质数 。 若P是质数,则对于任意整数1 1; } return cnt; }//快速幂 LL C(int a,int b){ if(a ...
分类:
其他好文 时间:
2018-11-02 23:51:52
阅读次数:
178
传送门 考虑最上面每个位置的数对答案的贡献 然后就很容易发现: 如果有n层,位置 i 的数对答案的贡献就是C( n-1,i ) 然后就有很显然的贪心做法: 越大的数放越中间,这样它的贡献就会尽可能的大 然后考虑算C( i,j ) 因为n很大,模数很小 所以要用lucas定理求C C(n,m)= C( ...
分类:
其他好文 时间:
2018-10-17 14:47:03
阅读次数:
121
Lucas定理:A、B是非负整数,p是质数。A B写成p进制:A=a[n]a[n-1]…a[0],B=b[n]b[n-1]…b[0]。 则组合数C(A,B)与C(a[n],b[n])C(a[n-1],b[n-1])…*C(a[0],b[0]) mod p同余 即:Lucas(n,m,p)=C(n%p ...
分类:
其他好文 时间:
2018-10-04 10:26:27
阅读次数:
133
其实这个算法挺简单的。 Lucas定理:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p 很明显,这个可以递归求解。 传统的算组合数的方法是需要计算阶乘的,当n和m到了一个很大的数字,那么这种方法的时间复杂度就过不去,而这时Lucas定理就派上了用场。 时间复杂度:O(logp(n) ...
分类:
其他好文 时间:
2018-09-19 14:42:58
阅读次数:
127