题解 | 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

相关推荐

03-23 21:23
东南大学 Java
这虾皮笔试是人能出出来的呀?真的人才,真红温了,三题都会做,结果一个层序遍历的返回值用数组???又不能改返回值,改了就执行错误????用数组就会有默认0,直接过不了
Makabaka_307:沙雕虾皮ide,我在线上ide跑完测试样例,在那个调试页面有个提交答案。我点完就直接交卷了。
投递虾皮信息等公司10个岗位 >
点赞 评论 收藏
分享
头像
03-26 13:44
南华大学 Java
老公你说句话啊_:怎么还有这样的
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务