题解 | E. Falfa with Substring

Falfa with Substring

https://ac.nowcoder.com/acm/contest/33187/E

E. Falfa with Substring

Solution

考虑容斥,设Gn,kG_{n,k}表示长度为nn的字符串中有至少kkbitbit子串的方案数, 则有

Gn,k=(n2kk)26n3kG_{n,k}=\begin{pmatrix}n-2k\\k\end{pmatrix}26^{n-3k}

那么根据容斥原理,可以推出Fn,kF_{n,k}Gn,kG_{n,k}的关系如下

Fn,k=jk(1)jk(jk)Gn,j=jk(1)jkj!k!(jk)!Gn,jF_{n,k}=\sum\limits_{j\ge k}(-1)^{j-k}\begin{pmatrix}j\\k\end{pmatrix}G_{n,j}\\ =\sum\limits_{j\ge k}(-1)^{j-k}\dfrac{j!}{k!(j-k)!}G_{n,j}

为了方便起见,将与jj无关的项移到左边,得到

Fn,kk!=jk(1)jk(jk)!j!Gn,j\dfrac{F_{n,k}}{k!}=\sum\limits_{j\ge k}\dfrac{(-1)^{j-k}}{(j-k)!}j!G_{n,j}

Hn,i=(1)ni(ni)!H_{n,i}=\dfrac{(-1)^{n-i}}{(n-i)!}

则化为

k!Fn,k=jkHn,nj+kj!Gn,jk!F_{n,k}=\sum\limits_{j\ge k}H_{n,n-j+k}j!G_{n,j}

因此可以建出Hn,iH_{n,i}i!Gn,ii!G_{n,i},直接用NTT求卷积即可,需要注意的是,Fn,kF_{n,k}对应的是卷积结果的n+kn+k次项系数。
复杂度O(nlogn)O(n\log n)

全部评论
k!移过去,左边不应该变成F(n,k)*k!吗
点赞 回复 分享
发布于 2022-07-29 11:55

相关推荐

喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
3 收藏 评论
分享
牛客网
牛客企业服务