- 博客(2)
- 收藏
- 关注
原创 HDU 6208 The Dominator of Strings 后缀自动机
题意:每组数据给出n个字符串,每组总共最多1e5个字符,然后要求判断,其中是否存在一个字符串,而其它字符串是这个字符串的子串。总共有30MB的输入。 贪心+后缀自动机 如果用AC自动机来做很可能会TLE,但后缀自动机在这里相对不容易被卡掉,首先我们多出了一个贪心优化,那就是那个可能存在的母串必定是长度最长的字符串,如果长度最长的字符串不止一个,则它们必定是完全相同的,所以后缀自动机只会用最长的那个字符串来建立自动机,而如果是AC自动机则必须使用全部的字符串来建立自动机,加上乘个memset[26]很容易被卡
2017-09-18 12:31:40 1271
原创 HDU 6194 string string string 后缀数组+lcp、Two Pointers
题意: 给出一个字符串,询问恰好出现k次的子串的种数。 后缀数组+ST表 对于给定字符串,跑出sa[]和height数组,然后预处理出ST表。 然后类似于Two Pointers的做法,维护一个长度为k-1的height数组的区间,一次从k到length(s)推一遍。 ans += st.query_min(i - k + 2, i) - max(st.query_min(i - k + 2, i+1), st.query_min(i - k + 2 - 1, i)); 这里维护的是k个后缀的最大公共前缀
2017-09-12 16:43:31 1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人