- 题意:
求 ∑ i = 1 n ( n i ) Q i ( ∑ j = 1 i j k ) \sum_{i=1}^n\binom{n}{i}Q^{i}(\sum_{j=1}^ij^k) ∑i=1n(in)Qi(∑j=1ijk), n ≤ 1 e 9 , k ≤ 3 e 3 , Q ≤ 1 e 9 n\le 1e9,k\le3e3,Q\le 1e9 n≤1e9,k≤3e3,Q≤1e9
发现 3 个大神都有不同的神仙方法,只有我什么都不会
-
无敌的 l d x ldx ldx :
首先把 ∑ i k \sum i^k ∑ik 插出来,考虑对每个项维护它的贡献,对于第 t t t 项,求
∑ i = 1 n ( n i ) i t Q i \sum_{i=1}^n\binom{n}{i}i^tQ^{i} ∑i=1n(in)itQi,构造成卷积形式 Q i = Q n ∗ Q − ( n − i ) Q^i=Q^n*Q^{-(n-i)} Qi=Qn∗Q−(n−i)
记 F t ( x ) = ∑ i = 1 n i t i ! x i F_t(x)=\sum_{i=1}^n\frac{i^t}{i!}x^i Ft(x)=∑i=1ni!itxi,那么就是求 [ x n ] n ! Q n ( F t ( x ) ∗ exp ( 1 Q x ) ) [x^n]n!Q^n(F_t(x)*\exp(\frac{1}{Q}x)) [xn]n!Qn(Ft(x)∗exp(Q1x))
考虑 F t F_t Ft 的递推, F 0 = e x F_0=e^x F0=ex, F t = x F t − 1 ′ F_t=xF_{t-1}' Ft=xFt−1′
发现 F t F_t Ft 可以表示为 A t ∗ e x A_t*e^x At∗ex 的形式,所以我们只用维护 A t A_t At 的转移, A t = x ( A t − 1 + A t − 1 ′ ) A_t=x(A_{t-1}+A'_{t-1}) At=x(At−1+At−1′)
然后 A t A_t At 最多只有 k k k 项,枚举一下选哪一项即可 -
无敌的 z x y zxy zxy:
首先把 ∑ i k \sum i^k ∑ik 插出来,考虑对每个项维护它的贡献,对于第 t t t 项,求
∑ i = 1 n ( n i ) i t Q i \sum_{i=1}^n\binom{n}{i}i^tQ^{i} ∑i=1n(in)itQi
把这个写成 E G F EGF EGF, F t ( x ) F_t(x) Ft(x) 表示第 t t t 天 i i i 次幂的和,二项式展开转移
F t ( x ) = F t − 1 ( x ) ( 1 Q + 1 + Q Q + 1 e x ) F_t(x)=F_{t-1}(x)(\frac{1}{Q+1}+\frac{Q}{Q+1}e^x) Ft(x)=Ft−1(x)(Q+11+Q+1Qex)
发现是个多项式快速幂,那么可以 O ( k log 2 k ) O(k\log^2k) O(klog2k) 插值,然后快速幂,然后点乘一下就可以了 -
无敌的 c y k cyk cyk:
用斯特林数展开
∑ i = 1 n ( n i ) Q i ( ∑ j = 1 i ∑ l = 1 k S k , l ( j l ) l ! ) = ∑ l = 1 k S k , l l ! ∑ i = 1 n ( n i ) Q i ∑ j = 1 i ( j l ) = ∑ l = 1 k S k , l l ! ∑ i = 1 n ( n i ) Q i ( i + 1 l + 1 ) = ∑ l = 1 k S k , l l ! ∑ i = 1 n n ! ( i + 1 ) ! ( n − i ) ! ( i − l ) ! i ! ( l + 1 ) ! Q i = ∑ l = 1 k S k , l l + 1 ∑ i = 1 n n ! ( i + 1 ) ( n − i ) ! ( i − l ) ! Q i = ∑ l = 1 k S k , l l + 1 Q l ∑ i = 0 n − l n ! ( i + l + 1 ) ( n − i − l ) ! i ! Q i = ∑ l = 1 k S k , l l + 1 n l ‾ Q l ∑ i = 0 n − l ( n − l i ) ( i + l + 1 ) Q i \sum_{i=1}^n\binom{n}{i}Q^{i}(\sum_{j=1}^i\sum_{l=1}^kS_{k,l}\binom{j}{l}l!)\\=\sum_{l=1}^kS_{k,l}l!\sum_{i=1}^n\binom{n}{i}Q^{i}\sum_{j=1}^i\binom{j}{l}\\=\sum_{l=1}^kS_{k,l}l!\sum_{i=1}^n\binom{n}{i}Q^{i}\binom{i+1}{l+1}\\=\sum_{l=1}^k S_{k,l}l!\sum_{i=1}^n\frac{n!(i+1)!}{(n-i)!(i-l)!i!(l+1)!}Q^{i}\\ =\sum_{l=1}^k \frac{S_{k,l}}{l+1}\sum_{i=1}^n\frac{n!(i+1)}{(n-i)!(i-l)!}Q^{i}\\=\sum_{l=1}^k \frac{S_{k,l}}{l+1}Q^{l}\sum_{i=0}^{n-l}\frac{n!(i+l+1)}{(n-i-l)!i!}Q^{i}\\=\sum_{l=1}^k \frac{S_{k,l}}{l+1}n^{\underline l}Q^{l}\sum_{i=0}^{n-l}\binom{n-l}{i} (i+l+1)Q^{i} i=1∑n(in)Qi(j=1∑il=1∑kSk,l(lj)l!)=l=1∑kSk,ll!i=1∑n(in)Qij=1∑i(lj)=l=1∑kSk,ll!i=1∑n(in)Qi(l+1i+1)=l=1∑kSk,ll!i=1∑n(n−i)!(i−l)!i!(l+1)!n!(i+1)!Qi=l=1∑kl+1Sk,li=1∑n(n−i)!(i−l)!n!(i+1)Qi=l=1∑kl+1Sk,lQli=0∑n−l(n−i−l)!i!n!(i+l+1)Qi=l=1∑kl+1Sk,lnlQli=0∑n−l(in−l)(i+l+1)Qi
求 f l = ∑ i = 0 n − l ( n − l i ) ( i + l + 1 ) Q i = ( l + 1 ) ( Q + 1 ) n − l + ( n − l ) Q ( Q + 1 ) n − l − 1 f_l=\sum_{i=0}^{n-l}\binom{n-l}{i}(i+l+1)Q^{i}\\=(l+1)(Q+1)^{n-l}+(n-l)Q(Q+1)^{n-l-1} fl=i=0∑n−l(in−l)(i+l+1)Qi=(l+1)(Q+1)n−l+(n−l)Q(Q+1)n−l−1
那么复杂瓶颈是求斯特林数 O ( k log k ) O(k\log k) O(klogk) -
题解:
∑ i = 1 n ( n i ) Q i ( ∑ j = 1 i j k ) \sum_{i=1}^n\binom{n}{i}Q^{i}(\sum_{j=1}^ij^k) ∑i=1n(in)Qi(∑j=1ijk) 可以表示成 ( Q + 1 ) n g ( n ) (Q+1)^ng(n) (Q+1)ng(n) 的形式,其中 g ( n ) g(n) g(n) 是关于 n n n 的 k + 1 k+1 k+1 次多项式
证:把 ( ∑ j = 1 i j k ) (\sum_{j=1}^ij^k) (∑j=1ijk) 表达成 ∑ i a i ( x i ) \sum_{i}a_i\binom{x}{i} ∑iai(ix),考虑某一项 x k x^k xk,它的贡献是
∑ i = 1 n ( n i ) Q i ( i k ) = ∑ i = k n ( n k ) ( n − k i − k ) Q i = ( n k ) Q k ( Q + 1 ) n − k \sum_{i=1}^n\binom{n}{i}Q^i\binom{i}{k}=\sum_{i=k}^n\binom{n}{k}\binom{n-k}{i-k}Q^i=\binom{n}{k}Q^k(Q+1)^{n-k} ∑i=1n(in)Qi(ki)=∑i=kn(kn)(i−kn−k)Qi=(kn)Qk(Q+1)n−k,对每个 n n n, ( Q + 1 ) n (Q+1)^n (Q+1)n 都有每一项的一个系数,故可以表示成 ( Q + 1 ) n g ( n ) (Q+1)^ng(n) (Q+1)ng(n)
那么我们拉个朗日插值就做完了