摘要:
题意: 解: 介绍两种方法。 首先可以把那个最后除的qi拆掉。 ①分前后两部分处理。 前一部分可以看做是个卷积。下面的平方不拆开,直接看成gi-j即可。 后一部分按照套路,把循环变量改成从0开始,反转q,之后也是卷积。 ②直接构造函数卷积。 题解。 我写的第一种。 1 #include <cstdi 阅读全文
摘要:
题意:给定只有ab的字符串,求其中不连续非空回文子序列的个数。 解:用所有回文子序列减去回文子串。 容易想到枚举中线。 设f[i]表示以i为中线,回文字符的个数。那么回文子序列就是∑(2f[i] - 1) 怎么求f[i]呢?卷积! 我们考虑把i变成中线 * 2,那么f[i] = ( ∑(s[j] = 阅读全文
摘要:
题意:给定两个串s,t。其中t可能含有?,可以代表任一字符。 求t在s中一共出现了多少次。 解: 我有个想法是在后缀自动机上DFS,然后发现不记忆化会超时,记忆化又不对。 正解是FFT。我们发现如果把问号看做0,那么两个字符匹配就是(a - b)b = 0 然后整串匹配就是∑(a - b)²b = 阅读全文
摘要:
介绍一种求拓扑序的方法。 枚举每个点,沿反图DFS,之后把自己加入拓扑序。 阅读全文