ACM-字符串处理
文章平均质量分 75
但求-_-心安
充满鲜花的世界到底在那里,如果他真的存在那么我一定会去。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[hihoCoder] #1032 : 最长回文子串
这是我看到的做回文子串最神奇的一个方法(其实之前只看过暴力) 用O(n)的时间复杂度解决这个问题,突然有种做kmp的感觉。 算法精髓是p[i] = min(p[i]+p,) 算法大致过程是这样。先在每两个相邻字符中间插入一个分隔符,当然这个分隔符要在原串中没有出现过。一般可以用‘#’分隔。这样就非常巧妙的将奇数长度回文串与偶数长度回文串统一起来考虑了(见下面的一个例子,回文串长度全为奇数原创 2016-11-07 18:45:33 · 300 阅读 · 0 评论 -
hdu 6153 A Secret (kmp)
反转字符串就可以用kmp的,因为要求是后缀,把两个字符串都反转就可以用kmp了,kmp是用来求前缀的。所以对第二个串求next数组,如果不能继续匹配就进行1+2+3+4+……j处理。 Ac代码 #include #include #include #include #include using namespace std; const int maxn=1000009; char s原创 2017-08-21 15:12:04 · 299 阅读 · 0 评论 -
Codeforces Round #434 Did you mean...
这个从当前向前遍历,看是否需要加空格。暴力就行了 #include char s[3002]; int c[3001], N; inline int vo(char x) { return x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u'; } void print(int i) { if (c[i]) { print(原创 2017-09-19 16:07:44 · 479 阅读 · 0 评论 -
hihocoder #1441 : 后缀自动机一·基本概念
初次接触sam感觉还是这个最详细 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 小Hi:今天我们来学习一个强大的字符串处理工具:后缀自动机(Suffix Automaton,简称SAM)。对于一个字符串S,它对应的后缀自动机是一个最小的确定有限状态自动机(DFA),接受且原创 2017-09-27 16:50:37 · 889 阅读 · 0 评论 -
ZOJ 3985 String of CCPC (字符串判断)
很水的其实,开始在看最后一题,没想做这个,或者说开始想的太复杂。也不能证明正确性,就放下了 #include #include #include #include #include using namespace std; const int N=2e5+20; char s[N]; int main() { int t; //ios::sync_with_stdio(原创 2017-11-01 21:55:36 · 810 阅读 · 0 评论 -
51nod 1621 花钱买车牌
水水的题,做了很长时间才出来,还看了两组数据,抠脚了,很皮, 思路是变为k个0,k个1.。。。k个9,变得话从 t左右减相同的这样最小,看哪个最小,输出哪个,还有就是顺序问题,顺序的话如果有相等的数字,比较改变后字符串大小,没有相等的如果把大的数改成小的数从前往后改,小的数改为大的数,从后往前改。。。。。必须要细节。。。 #include #include using namespace原创 2017-11-03 17:43:35 · 627 阅读 · 0 评论
分享