随笔分类 -  字符串--------------------------

摘要:【算法】(manacher+贪心)||(manacher+DP+树状数组/线段树) 【题解】 manacher求回文串,后得到线段,做一点计算映射回原串线段。 然后问题转化为可重叠区间线段覆盖问题,可以贪心解决。 排序左端点,同一左端点取最长段,然后在此段中找到右端点最靠右的线段,线性更新并累加。 阅读全文
posted @ 2017-04-05 21:19 ONION_CYC 阅读(375) 评论(0) 推荐(0)
摘要:【算法】manacher 【题解】【算法】字符串 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=300010; int n,p[maxn]; char s[maxn 阅读全文
posted @ 2017-04-05 19:16 ONION_CYC 阅读(199) 评论(0) 推荐(0)
摘要:【算法】后缀数组 【题解】后缀数组 由于m太大,先离散化。 然后处理SA和LCP。 最后用单调队列处理即可。 注意实际上队列头尾长度限制是K-1. 删队尾不要删过头 i≥K才能开始统计答案。 #include<cstdio> #include<algorithm> #include<cstring> 阅读全文
posted @ 2017-04-03 16:36 ONION_CYC 阅读(222) 评论(0) 推荐(0)
摘要:【算法】后缀数组 【题解】把数组复制一遍然后SA处理即可。 后缀数组 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=300010; int sa[maxn],bas 阅读全文
posted @ 2017-04-02 18:00 ONION_CYC 阅读(189) 评论(0) 推荐(0)
摘要:【算法】KMP 【题解】题目要求的是数量而非长度……QAQ BZOJ 3670 NOI2014 动物园 KMP算法 KMP树结点是0~n,根节点是0,树边就是失配边,跑失配边其实就是跑向父亲(所以它是后面所有后缀与它一样的字符串的祖先)。 题目要求的是满足要求(长度<一半)的前后缀相等的数量,若不考 阅读全文
posted @ 2017-03-27 14:02 ONION_CYC 阅读(244) 评论(0) 推荐(0)
摘要:【算法】AC自动机 【题解】本题注意题意是多少关键字能匹配而不是能匹配多少次,以及可能有重复单词。 询问时AC自动机与KMP最大的区别是因为建立了trie,所以对于目标串T与自动机串是否匹配只需要直接访问对应结点,而不用真的比较。 因此可以预处理出拥有对应节点的失配串,不用一次一次跑前跑去找一样的。 阅读全文
posted @ 2017-03-26 16:58 ONION_CYC 阅读(239) 评论(0) 推荐(0)
摘要:【算法】KMP 【题解】KMP中n-next[n]得到最小循环节的性质。 考虑一个循环串(最后一个循环节可能残缺),它最长的【后缀=前缀】一定是以第二个循环节为起始位置的后缀。 正着考虑的话假设后缀T以x+1开始,S为前缀那: 1.S(1~x)=T(1~x)即S(x+1~2x) 2.S(x+1~2x 阅读全文
posted @ 2017-03-26 12:46 ONION_CYC 阅读(200) 评论(0) 推荐(0)
摘要:【算法】KMP 【题解】【算法】字符串 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1000010,maxm=1010; char A[maxn],B[maxm] 阅读全文
posted @ 2017-03-25 22:58 ONION_CYC 阅读(324) 评论(0) 推荐(0)
摘要:把字符串原样复制一遍放在后面是惯用套路,此时字符串数组开两倍! ★字符串算法的核心是构造失配指针! 【字符串哈希】 双蛤习取模保险,毕竟连自然溢出都是能卡的…… 例题:【CodeForces】961 F. k-substrings 字符串哈希+二分 用于O(1)判断两个字符串是否相等:对于s[i~j 阅读全文
posted @ 2017-03-25 22:47 ONION_CYC 阅读(526) 评论(0) 推荐(1)
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2147) 评论(0) 推荐(6)