随笔分类 - 字符串
摘要:还以为序列自动机是什么,写完无意间看到帖子原来这就是序列自动机……这算自己发现算法🐎(雾 看网上的序列自动机是O(26*len)预处理,O(len)查询,不过用vector和二分查找就可以更快一点了,写起来也比较清楚。 主要思想就是对于母串,从前往后扫一遍,记录每种(就那26种)字母出现的下标,p
阅读全文
摘要:数据范围好小。。。 题目中没说要升序降序,不过样例解释里可以看出是要升序。
阅读全文
摘要:好像这题是4级题下放2级? 预处理:求每个位置 x 左区间 [ 0 , x ] 中 1 比 0 多的数量和右区间 ( x , n - 1 ] 中 0 比 1 多的数量(少就是负的)。相当于求两个前缀和。这样在判断 1 多还是 0 多时判断前缀和与零的大小关系就行了。 更新答案:对于字符串中的每个位置
阅读全文
摘要:题目:POJ3080 http://poj.org/problem?id=3080 题意:对于输入的文本串,输出最长的公共子串,如果长度相同,输出字典序最小的。 这题数据量很小,用暴力也是16ms,用后缀数组可以到0ms,但我不会XD。 暴力: KMP: 题目:POJ3461 http://poj.
阅读全文
摘要:注释掉的是我不喜欢的写法。 //计算串str的next数组 void getnext(char *str){ int len=strlen(str); int j=0,k=-1; next[0]=-1; while(j<len){ if(k==-1||str[j]==str[k]) next[++j]=++k; else k=ne...
阅读全文