設\(f[n][k]=\sum_^kc_n^i\pmod \)
那麼根據盧卡斯定理我們知道\(f[n][k]=\sum_^kc_^\times c_^\)
\(=c_^0\times \sum_^c_^i+c_^1\times \sum_^c_^i+...+c_^\times \sum_^c_^i+c_^\times \sum_^c_^i\)
\(=\sum_^c_^i\times(c_^0+c_^1+...+c_^)+\sum_^c_^i\)
\(=\sum_^c_^i\times \sum_^c_^j+\sum_^c_^i\)
\(=f[n\%p][p-1]\times f[n/p][k/p-1]+c_^\times f[n\%p][k\%p]\)
取模的那些我們可以先預處理出來(小於等於2333),然後除法操作的那些我們遞迴計算即可。
**如下:
#include#include#include#include#include#define ll long long
#define p 2333
using namespace std;
int t;
ll n,k;
ll c[2500][2500],f[2500][2500];
inline void init()
inline ll lucas(ll down,ll up)
inline ll f(ll down,ll up)
int main()
return 0;
}
SHOI2015 超能粒子炮 改
求 sum 2333 n,k leq 10 如果直接套盧卡斯還是比較容易想到分塊求解的 由 c n i c times c 可知,i p 相同的組合數另一部分分別是 i p,i p 1,i p 2.這部分可以搓到一起 令 s n k sum 具體來說,將這部分相同的部分放到一起,剩下的地方直接計算 ...
SHOI2015 超能粒子炮 改
首先我們要明確題目要我們求的是這個式子 sum kc n i 我們先從部分分看起 預處理出組合數暴力算就是了。複雜度 o n 2 由於我們要求的東西是在楊輝三角的一行,所以我們可以遞推求出改行組合數,遞推式為 c n c n m frac 證明的話就用組合數的定義式即可。複雜度 o k 這一檔對正解...
SHOI2015 超能粒子炮 改
給你 t 組詢問,每組詢問給定引數 n,k 計算 sum limits k dbinom bmod 2333 t leq10 5,n,k leq10 這題其實是 operatorname 定理的乙個簡單擴充套件。方便起見,令 p 2333 首先利用 operatorname 定理化簡所求和式,由 d...