字符串算法
Tongqi_Liu
喜欢看书,ACMed,攻城狮
展开
-
POJ 3461 Oulipo(KMP模板)
Oulipo Time Limit:1000MS Memory Limit:65536K Total Submissions:20574 Accepted:8206 Description The French author Georges Perec (1936–1982) once wrote a book, La dispariti...原创 2014-03-30 16:12:49 · 370 阅读 · 0 评论 -
HDU 5442 Favorite Donut(后缀数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5442 题意:给出一个字符串环,要求以某点作为起点选择顺逆方向吃完整个环,使得字典序最大,如果有多种选择,先选择位置最靠前的再选取顺时针方向 思路:先按正方向将串扩成两倍,再按反方向将串扩成两倍,中间用较小的特殊符连接,然后找到后缀最大的字符串,然后利用高度数组逆着判断当前字符串是否仍满...原创 2015-09-15 13:20:31 · 485 阅读 · 0 评论 -
HDU 4029 Distinct Sub-matrix(hash + 后缀数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4029 题意:找出一个矩阵中有多少不相同的子矩阵 思路:考虑用hash将一个字符串变成一个数字,可以枚举宽度对每一个宽度w下的字符串进行hash,hash[i][j]即表示s[i][j]到s[i][j + w - 1]字符串的哈希值,再然后按照hash[1][0], hash[2][0]...原创 2015-09-04 21:49:10 · 509 阅读 · 0 评论 -
HDU 4416 Good Article Good sentence(后缀数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4416 题意:给出一个A串,若干个B串,问A中有多少子串未在任一B串中出现过 思路:先将A串和所有B串连起来,中间用特殊字符隔开,求出总串有多少不相同子串,再将A串拿掉,求出所有B串的不相同子串,两者相减即为答案 在求的过程中,难点在于如何减去那些由特殊字符组成的子串,我们可以枚举每个...原创 2015-08-14 22:08:17 · 571 阅读 · 0 评论 -
POJ 1743 Musical Theme(后缀数组)
题目链接:http://poj.org/problem?id=1743 题意:给你N个数,相邻两数相减可以得到一段长为N-1的数列,可以当作字符串,现在让你找出最长重复子串长度,且这两个子串不能有重叠部分,如果该长度 < 4,输出0 思路:通过二分答案判定是否存在两个长度为k的子串是相同的,且不重叠。利用height数组将排序后的后缀分组,每组后缀间的height都 >...原创 2015-04-19 23:29:40 · 380 阅读 · 0 评论 -
UVA 11732 "strcmp()" Anyone?(字典树)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68198#problem/B 题意:给出n个字符串, 计算两两比较的次数,注意两字符相等情况下需要比较(str1[i] == str2[i])和 (str1[i] == '\0'各一次). 思路:将所有单词插到一棵trie上,不过这题数据量很大,故采用左儿子右兄弟...原创 2015-01-28 20:10:17 · 488 阅读 · 0 评论 -
UVA 1401 Remember the Word(字典树)
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68198#problem/A 题意:一个字符串可能有多少种给定的小串组成 思路:倒着递推,则有dp[i] = sum{dp[i + len(x)]},相当于计算出从i位置到字符串终端的组合方式,故需在trie中找出单词x的前缀 #include &...原创 2015-01-28 20:02:16 · 465 阅读 · 0 评论