随笔分类 - 字符串-后缀数组
摘要:题目 求两数组归并后的数组最小字典序排列。 嘛,可能本人在贪心这块还是太弱了(或者说什么都弱),如果不知道是字符串题估计也想不起来用sa。 显然看得出归并时字典序小的那个数组先往里面加,这就是要比较两数组后缀的rank,方法就把两串相拼做后缀排序后比较。 这里附下贪心正确性证明,反正我不太会,只是感
阅读全文
摘要:P2463 [SDOI2008]Sandy的卡片 套路都差不多,都是差分后二分答案找lcp。只是这题要把多个串拼接起来成为一个大串,中间用某些值域中没有的数字相隔(最好间隔符都不一样想想为什么),排序后在二分答案,开个栈统计即可(保证单次check复杂度O(N))。
阅读全文
摘要:P2743 乐曲主题Musical Themes(poj1743) 然后呢这题思路其实还是蛮简单的,只是细节特别多比较恶心,忘记了差分带来的若干疏漏。因为转调的话要保证找到相同主题,只要保证一段内相对的差值不变,所以自然而然想到差分。注意细节。1.因为差分会带来负数,而负数在后缀数组里最初排名是会出
阅读全文
摘要:BZOJ3230 相似子串 给一个串,查询排名i和j的子串longest common suffix和longest common prefix 思路其实还是蛮好想的,就是码起来有点恶心。可以发现后缀拍完序之后的子串可以根据sa自前而后的顺序标子串排名,和统计不同字串那里差不多,自lcp后的是新子串
阅读全文
摘要:裸的统计不同的重复出现子串(不重叠)种数的题。多次使用后缀排序要注意小细节。y数组在重复使用时一定要清空,看那个line25 +k就明白了 ,cnt也要清空,为什么就不说了 1 #include 2 using namespace std; 3 typedef long long ll; 4 templateinline char MAX(T&A,T B){return Ainline...
阅读全文

浙公网安备 33010602011771号