Strings
文章平均质量分 78
huangshenno1
这个作者很懒,什么都没留下…
展开
-
HDU3068 最长回文
O(n)求最长回文串 用辅助数组p记录以每个字符为中心得最长回文串的信息。 在字符间插入'#',可以奇偶两种情况同时考虑。 具体算法部分参考 #include #include #include #include #include #include #include #include #include #include #include #include原创 2013-07-20 18:15:42 · 457 阅读 · 0 评论 -
CF17C Balance
定义压缩串为把某字符串中所有连续相同的字母压缩成一个所形成的的串。如aabbaaaabcc -> ababc 如果原串是A,变形后的串为B,那么A的压缩串A‘和B的压缩串B',存在这样的关系:B'一定是A’的字串。 预处理统计A中每个字符后面(包括自身,因为可以不断重复自己)最近的'a''b''c'分别在哪个位置,用next[i][0-2]记录。 从1-n生成新串B,用dp[i][a][b]原创 2013-07-22 21:40:21 · 776 阅读 · 0 评论 -
SOJ3296 Windy's S
字符串的最小表示法 算法复杂度O(n) 也可用于判断字符串的循环同构 //#pragma comment(linker,"/STACK:102400000,102400000") #include #include #include #include #include #include #include #include #include #include u原创 2013-09-17 13:37:02 · 700 阅读 · 3 评论 -
ZOJ3587 Marlon's String
KMP,正着处理一遍,反着处理一遍,但是用递归的方式一个一个统计会超时,最后累加一下比较好= = #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2013-10-04 23:59:40 · 554 阅读 · 0 评论 -
POJ1743 Musical Theme
后缀数组典型题。 给定一个字符串,求最长重复子串,这两个子串不能重叠。 计算height数组,然后二分答案k,连续的height >= k的区间中sa相差最大的差若超过k,则符合条件。 #include #include #include using namespace std; const int maxn = 20005; int a[maxn], s[max原创 2013-10-23 00:29:15 · 513 阅读 · 0 评论