给定 n,m,b,c,求满足下列条件长 m 的序列 {x1,…,xm} 的个数 mod 998244353:
- xi∈Z;
- 0≤xi≤bi−c;
- ∑xi<n;
−108≤c<b,2≤b<108,1≤m≤80,1≤n≤bm+1。
先将 n 减一,然后枚举超出上限的位置集合,插板:
S∑(−1)∣S∣(mn+m+∣S∣(c−1)−i∈S∑bi)
记 X=n+m+∣S∣(c−1),枚举 ∣S∣ 以及 X 与 i∈S∑bi 的 lcp 以确定 X 和去掉 i∈S∑bi≤X 的限制:
∣S∣,lcp∑(−1)∣S∣(mX−i∈S∑bi)=m!1∣S∣,lcp∑(−1)∣S∣i=X−i∈S∑bi−m+1∏X−i∈S∑bii=m!1∣S∣,lcp∑(−1)∣S∣i=X−m+1∏X(i−i∈S∑bi)
i=X−m+1∏X(i−i∈S∑bi) 是个 m 次多项式,算出 (i∈S∑bi) 每个次幂的系数即可计算。
那么设 fi,j,k 表示从 {b0,b1,…,bi} 中选出 j 个的和的 k 次方和,转移直接二项式定理:
fi,j,k=fi−1,j,k+p=0∑kfi−1,j−1,p×bi(k−p)×(pk)