摘要: ntt+cdq分治 原来zwh出的cf是斯特林 第二类斯特林数的定义是S(i,j)表示将i个物品分到j个无序集合的方案数,那么这道题中S(i,j)*j!*2^j是指将i个物品分到j个有序集合中并且每个集合可以选或不选的方案数,那么我们改变这个公式,得出 F[i]=∑F[j]*2*C(i,j),j=0 阅读全文
posted @ 2017-11-15 14:52 19992147 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 后缀自动机 留个板子 upd:大概懂了 每次新加入的npRight集合肯定只有最后一个位置,那么求所有长得不一样的子串贡献就是Max-Min+1,因为Right集合只有这一个位置,所以这Max-Min+1个子串只出现在最后一个位置。 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2017-11-15 14:14 19992147 阅读(111) 评论(0) 推荐(0) 编辑