KMP算法笔记
2016-02-06 17:31
465 查看
无聊打开vjuge看了一眼,看到有一个比赛是ac自动机,打开看看顺便xuexi一下子。
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=106135#overview
百度了一下有关资料:/article/4680010.html
需要 kmp复习一下感觉全忘了。
附两篇参考资料:/article/2421070.html
/article/7001441.html
和一个练习题:http://www.acmicpc.sdnu.edu.cn/problem/show/1100
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=106135#overview
百度了一下有关资料:/article/4680010.html
需要 kmp复习一下感觉全忘了。
附两篇参考资料:/article/2421070.html
/article/7001441.html
和一个练习题:http://www.acmicpc.sdnu.edu.cn/problem/show/1100
#include <vector> #include <list> #include <map> #include <set> #include <deque> #include <queue> #include <stack> #include <bitset> #include <algorithm> #include <functional> #include <numeric> #include <utility> #include <complex> #include <sstream> #include <iostream> #include <iomanip> #include <cstdio> #include <cmath> #include <cstdlib> #include <cstring> #include <ctime> #include <cassert> using namespace std; int main() { bool flag=false; char a[100005]; char b[1005]; int next[1005]; cin>>a>>b; next[0]=0; int k=0; int lena=strlen(a); int lenb=strlen(b); for(int i=1;i<lenb;++i) { while(k>0&&b[k]!=b[i]) k=next[k-1]; if(b[i]==b[k]) k++; next[i]=k; } for(int i=0;i<lenb;i++) // cout<<next[i]<<" "; // cout<<endl; k=0; for(int i=0;i<lena;++i) { while(k>0&&a[i]!=b[k]) k=next[k-1]; if(b[k]==a[i]) k++; // cout<<i<<"--"<<k<<endl; if(k==lenb) { flag=true; cout<<i+2-lenb<<endl; break; } } if(flag^1) { cout<<"-1"<<endl; } return 0; }
相关文章推荐
- 1、机器学习之回归
- csu1023 修路(二分查找)
- e.preventDefault() e.stopPropagation()和return false的区别
- PHP->iNews新闻发布系统目录结构3
- 《Desperate Housewives/绝望的主妇》8段经典美句
- HYSBZ/BZOJ 1013 [JSOI2008] 球形空间产生器sphere - 高斯约当消元
- C++类成员函数做参数以及转换调用
- Codeforces AIM Tech Round (Div. 1)623A Graph and String
- Android 内核常见目录的作用
- Backbone.router
- Android 内核常见目录的作用
- Android 内核常见目录的作用
- 【Cocos2d-x源码分析】 UserDefault如何保存本地数据
- 0206-UITableView上的批量操作(自定义)
- Android 内核常见目录的作用
- 编程算法之常数变异法
- Codeforces AIM Tech Round (Div. 2)解题报告
- Android 实战之: 去除安卓应用启动前闪烁的黑屏或白屏效果
- 构建IoT系统必须的五项内容 (Page 3)
- II yarrAdetroSdetatoRnihcraeS.81