先来铺垫一个结论。
引理.
模质数 q 意义下 n×m 的秩为 r 的矩阵的个数为 qr(r−1)/2(r!)q(nr)q(mr)q
证明:
显然秩为 r 的 r×m 矩阵个数为 r−1∏i=0(qm−qi)=qr(r−1)/2(r!)q(mr)q
插入剩下的数的方案数是 [zn−r]r∏i=011−qiz
用类似 q-二项式定理证明的方法可知其等于 (nr)q。
来看这题。
考虑斯特林容斥,这样去掉两个限制的 i×j×H 的立方体的个数就是 H∏k=1qrk(rk−1)/2(rk!)q(irk)q(jrk)q
可以提出 ∏Hk=1qrk(rk−1)/2(rk!)q,那么除此之外总共就是 (L∑i=1(−1)L−i[Li]H∏k=1(irk)q)(W∑j=1(−1)W−j[Wj]H∏k=1(jrk)q)
这东西不像能结合起来算的样子,所以考虑算出所有 fi=H∏k=1(irk)q
注意到 fifi−1=H∏k=11−qi1−qi−rk
那么用 CZT 算出 H∏k=1(1−q−rkz)=exp(−∑i≥1ziiH∑k=1q−irk)
之后再做一次 CZT 即可。
接下来算答案。
就是计算 ∑i≥0fi[ti]etln(1+z)=∑i≥0fi[ti](1+z)t
转置一下可以发现就是下降幂转普通幂: ∑i≥0fi[zi]etln(1+z)=∑i≥0fi(ti)
分治 NTT 即可。
代码:
1 |
|