
kmp
gongyuandaye
不要再问我会不会写可持久化非确定状态AC自动分块维护线段平衡仙人掌优化最小费用最大流预处理混合图上莫比乌斯反演莫队带花舞蹈链并查集树状数组套主席树预处理动态DP分治FFT求多项式逆元对数函数的指数函数用可持久化并查集合并最小费用循环流上插头DP了。
展开
-
2020牛客多校二 A. All with Pairs (hash+next数组)
题意: 题解:hash+next数组 先把所有后缀哈希,用map存一下。 接下来遍历所有字符串的所有前缀,累加对应前缀哈希map。 因为总长度是1e6,不会t。 但是有一个问题,就是累加的时候会重复,如字符串自身aba,a算了一次,aba算了一次,但我们要取最长的,所以要把a去掉。 这时候就要用到next数组,我们用cnt[i]cnt[i]cnt[i]表示长度为iii的前缀有cnt[i]cnt[i]cnt[i]个后缀与之相等,再遍历一次进行cnt[next[i]]−=cnt[i]cnt[next[i]] -原创 2020-07-19 22:29:52 · 216 阅读 · 0 评论 -
Codeforces 1200E Compress Words (kmp)
题意:给出nnn个字符串作为一条语句,每次将前两个字符串合并相同后缀和前缀,并作为结果重新放回语句开头。求最终结果。 题解:kmp kmp的next[]next[]next[]数组应用。 对于sss1和sss2,可以将sss2放到sss1前面,然后求next[]next[]next[],处理的时候总长度取两者长度最小的2倍,不然就t了。 还有一种做法,就是下面这份代码,只求出当前串的next[]n...原创 2020-04-06 22:58:57 · 279 阅读 · 0 评论 -
HDU 2328 Corporate Identity (kmp)
题意:求给出的nnn个字符串的lcslcslcs,若有多个,输出字典序最小的。 题解:kmp 因为有多个字符串,可以枚举第一个字符串的所有子串,相当于假定这个子串是lcslcslcs,然后和剩余的字符串跑kmp,都满足就用strcmp()strcmp()strcmp()比较一下就行。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> ...原创 2020-04-06 22:35:38 · 152 阅读 · 0 评论