摘要:
题目大意:找到字符串中所有和前缀字符串相同的子串的个数对于这种前缀的问题,通常通过扩展kmp来解决其实吧这是我第一次做扩展kmp的题目,原来确实看过这个概念,今天突然做到,所以这个扩展kmp的模板是做到这道题直接copy的这里用扩展kmp很好解决问题,_next[i],表示第i位开始所能匹配到的最大... 阅读全文
摘要:
题目大意:对于一个给定字符串,找到其所有不同的子串中排第k小的子串先构建后缀自动机,然后我们可以将整个后缀自动机看做是一个DAG图,那么我们先进行拓扑排序得到 *b[N]对于每个节点记录一个sc值,表示当前节点往下走可以得到不同的字符串的个数然后从后往前,每次到达一个节点,当前节点sc赋1,然后每个... 阅读全文
摘要:
题目大意:给定一个字符串,接下来再给n个字符串,求原字符串中含有多少个当前给定字符串的循环同构体的字符串的个数以初始字符串构建后缀自动机,在自动机上前进的时候,比如当前需要匹配的字符串为aba,到达某个状态点S我们所希望知道的所有aba出现的次数,因为aba最终到达的是点S,其实可以理解为整个后缀自... 阅读全文
摘要:
题目大意:给定一个基础字符串,再给多个字符串,求出基础字符串中能得到的不一样的子串的个数未出现在后面多个字符串当中这里以基础子串构建后缀自动机是没问题的后面的多个子串不断在后缀自动机上进行匹配,每次到达一个状态点,就要更新当前点所能达到的其他字符串抵达最大长度mx,那么未能匹配的长度就是cur->l... 阅读全文
摘要:
题目大意:给定一个长度l - p->f->l ),也就是以当前点为最后节点所能得到的与之前不重复的子串的个数那么这个问题就很好解决了,共2000个位置,以每一个位置为起点构建一次后缀自动机,一直构建到最后一个字符,过程中不断记录所能得到的子串个数把这个个数动态保存到f[][]数组中那么打好了表,最后... 阅读全文