摘要:http://codeforces.com/contest/762/problem/C 第一个串str[],第二个sub[] 预处理出prefix[i]表示sub的前i位和str[]的最长lcs去到str[]的最小的位置,如果某一位i不成立了,就设为inf 由于处理的时候,指针指向str[]的是单调
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5745 这题好劲爆啊。dp容易想,但是要bitset优化,就想不到了。 先放一个tle的dp。复杂度O(n * m)的 第一个串,记作str[],第二个记作sub[] 思路就是,设dp[i][j][k]表示,匹配了
阅读全文
摘要:我现在是不会的了。 看看等我退役前能不能做出吧。 https://www.hackerrank.com/contests/w27/challenges/how-many-substrings
阅读全文
摘要:http://codeforces.com/contest/747/problem/E 首先,把字符串变成这个样子。 hello,2,ok,0,bye,0,test,0,one,1,two,2,a,0,b,0 hello 2 1ok 0 2bye 0 3test 0 4one 1 5two 2 6a
阅读全文
摘要:http://codeforces.com/contest/535/problem/D 如果真的要把m个串覆盖上一个串上面,是可以得,不会超时。 要注意到一点,全部覆盖后再判断时候合法,和边放边判断,结果是一样的,后者还更难做到。 那么就是先按顺序把串覆盖上去,已经存在的就不去覆盖了,然后kmp一次
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5769 首先回顾一下以前的,只求不同子串的个数的题目。 比如是:abba 那么 以a为开始的字符串有a, ab, abb, abba 以b为开始的字符串有b, bb, bba 以b开始的字符串有, b, ba 以a
阅读全文
摘要:http://acm.scau.edu.cn:8000/uoj/mainMenu.html 18000 Two String 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 题型: 编程题 语言: 不限定 Description 输入格式 The first line co
阅读全文
摘要:http://acm.scau.edu.cn:8000/uoj/mainMenu.html 17999 Light-bot 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 题型: 编程题 语言: 不限定 Description I (you needn't know wh
阅读全文
摘要:http://www.ifrog.cc/acm/problem/1054 问删除一个字符后的最小循环节是多少、 比赛的时候想不出,不知道怎么暴力。 赛后看了别人代码才晓得。唉,还以为自己字符串还不错,但是变了一点点就不懂了。 1、可以暴力枚举循环节长度i,必要条件是(lenstr - 1) % i
阅读全文
摘要:有时候需要把 char str[][] = {"abc", "bcd", "efg", "gdk"} 这样的进行排序? 输出 abc bcd efg gdk 如果你直接sort(str, str + 4, cmp)这样是不行的,因为字符串的赋值操作都没有定义 就是你不能用一个中间变量char tem
阅读全文
摘要:连续重复子串问题 poj 2406 Power Strings http://poj.org/problem?id=2406 问一个串能否写成a^n次方这种形式。 虽然这题用kmp做比较合适,但是我们还是用后缀数组做一做,巩固后缀数组的能力。 对于一个串,如果能写出a^n这种形式,我们可以暴力枚举循
阅读全文
摘要:后缀数组被称为字符串处理神器,要解决字符串问题,一定要掌握它。(我这里的下标全部都是从1开始) 首先后缀数组要处理出两个数组,一个是sa[],sa[i]表示排名第i为的后缀的起始位置是什么,rank[i]表示第i个字符为起始点的后缀,它的排名是什么。可以知道sa[rank[i]] = i; rank
阅读全文
摘要:题目:给定一个长度为40的数字,问其是否在前100000项fibonacci数的前缀 因为是前缀,容易想到字典树,同时因为数字的长度只有40,所以我们只要把fib数的前40位加入字典树即可。这里主要讨论下怎么得到fib数的前40位。 首先,因为没可能每一项的fib都求出来的了。空间都存不下来。所以,
阅读全文
摘要:题意:给定一个句子str,和一个单词sub,这个单词sub可以翻译成两种不同的意思,问这个句子一共能翻译成多少种不能的意思 例如:str:hehehe sub:hehe 那么,有**he、he**、和hehehe三种不同的意思, 考虑一下aaadaaa这种情况?sub:aa 前面的aaa有三种,后面
阅读全文
摘要:题目:给定一个单词本,要求找出其中的单词,是单词本中某两个单词合并起来得。 思路。先把单词本用字典树保存,然后枚举没个单词的切点,把一个单词分成两部分,去字典树中找即可。 #include <cstdio> #include <cstdlib> #include <cstring> #include
阅读全文
摘要:题意:给你一个串,若里面有两个相邻的没有交集的回文串的话,设为S[i...j] 和 S[j+1...k],对答案的贡献是i*k,就是左端点的值乘上右端点的值。 首先,如果s[x1....j]、s[x2....j]、s[x3....j]....s[xn....j]、是回文串,而且s[j+1...y1]
阅读全文