码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
POJ 1226 Substrings (后缀数组)
题目大意: 问的是m个字符串里,都出现过的子串。子串也可以出现在这个串的逆序串中。 思路分析: 居然wa在全5个 “a” 的数据上。 二分的时候下界不能为0。。 思路大致上是把原串和逆序串全部处理出来,放入str中,然后在每个串中间加一个没有出现过的。 此处注意输入不仅仅是字母。 然后跑一遍后缀数组。 然后用标记计数就好了。 #include #include ...
分类:其他好文   时间:2014-07-06 10:07:36    阅读次数:202
SPOJ 220 Relevant Phrases of Annihilation (后缀数组)
题目大意: 求在m个串中同时出现两次以上且不覆盖的子串的长度。 思路分析: 二分答案,然后check是否满足,判断不覆盖的方法就是用up down 来处理边界。 #include #include #include #include #include #include #define maxn 110005 using namespace std; char ...
分类:其他好文   时间:2014-07-03 16:55:30    阅读次数:350
POJ 3729 Facer’s string (后缀数组)
题目大意: 串1中有多少个后缀和 串2中的某个后缀 的lcp 为 k 思路分析: 先找出 长度至少为k的对数有多少。 再找出 至少为k+1的有多少 然后相减。 #include #include #include #include #include #include #define maxn 110005 using namespace std; int ...
分类:其他好文   时间:2014-07-03 16:26:57    阅读次数:195
POJ 3294 Life Forms (后缀数组)
题目大意: 求出在m个串中出现过大于m/2次的子串。 思路分析: 如果你只是直接跑一次后缀数组,然后二分答案扫描的话。 那么就试一下下面这个数据。 2 abcdabcdefgh efgh 这个数据应该输出 efgh 问题就在于对于每一个串,都只能参与一次计数,所以在check的时候加一个标记数组是正解。 #include #include #inc...
分类:其他好文   时间:2014-07-03 15:35:12    阅读次数:171
poj 1743 最长不重叠重复子串 后缀数组+lcp+二分
题比较容易读懂,但是建模需动点脑子: 一个子串加常数形成的子串认为跟子串相同,求最长不重叠重复子串 题目中说 is disjoint from (i.e., non-overlapping with) at least one of its other appearance(s) 意味着不能重叠,举个例子 1, 2,3,  52, 53,54 1,2, 3和 52, 5...
分类:其他好文   时间:2014-07-02 15:15:01    阅读次数:289
POJ 3261 Milk Patterns(后缀数组)
题目大意: 求可覆盖的出现k次的子串的最大长度。 思路分析: 同样是二分答案的长度,然后扫描height判断是否成立。 #include #include #include #include #define maxn 1000005 using namespace std; int str[maxn]; int sa[maxn],t1[maxn],t2[maxn]...
分类:其他好文   时间:2014-07-02 09:02:19    阅读次数:258
SPOJ 694、705 Distinct Substrings 、 New Distinct Substrings (后缀数组)
题目大意: 求串中不同的子串的个数。 思路分析: 子串一定是某一个后缀的前缀。 所以我们把每一个后缀拿出来,分析它有多少个前缀,然后除去它与sa数组中前面那个后缀相同的前缀。 最后也就是 ans = segma (n-sa[i] + height[i]).... #include #include #include #include #define maxn 1...
分类:其他好文   时间:2014-07-02 07:23:21    阅读次数:182
POJ 2217 Secretary (后缀数组)
题目大意: 计算两个字符串的最长的公共字符串字串的长度。 思路分析: 将两个串合并起来。 然后直接跑后缀数组求出height 然后就可以直接扫描一次height ,加个是不是在一个串中的判断就可以了。 #include #include #include #include #define maxn 200005 using namespace std; cha...
分类:其他好文   时间:2014-06-30 19:59:06    阅读次数:194
POJ 1743 Musical Theme (后缀数组)
题目大意: 刚才上88个键弹出来的音符。 如果出现重复的,或者是高一个音阶的重复的都算。 思路分析: 具体可以参考训练指南222. height数组表示按照排序后的sa最近的两个后缀的最长前缀。 将height 分块。然后二分答案,二分答案之后去判断是否满足。 要考虑到不重合,还有大于5。 所以二分的时候要从5开始,然后判断的时候要加一个 up - down >le...
分类:其他好文   时间:2014-06-30 19:27:18    阅读次数:242
PKU 2774 Long Long Message (后缀数组练习模板题)
题意:给你两个字符串,求最长公共字串的长度。 by:罗穗骞模板 #include #include #include #include using namespace std; #define M 303 #define inf 0x3fffffff #define maxn 500000 #define ws ww #define rank RANK #define F(x)...
分类:其他好文   时间:2014-06-28 08:00:24    阅读次数:190
1340条   上一页 1 ... 130 131 132 133 134 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!