hdu 2594 Simpsons’ Hidden Talents 【KMP】
来源:互联网 发布:linux数据库备份软件 编辑:程序博客网 时间:2024/06/05 07:20
题目链接:http://acm.acmcoder.com/showproblem.php?pid=2594
题意:求最长的串 同时是s1的前缀又是s2的后缀。输出子串和长度。
思路:kmp
代码:
#include <vector>#include <string>#include <algorithm>#include <iostream>#include <stdio.h>#include <string.h>using namespace std;char s1[500010],s2[500010];char ANS[500010];void get_next(char x[], int m, int Next[]){ int i, j; j = Next[0] = -1; i = 0; while (i < m) { while (-1 != j && x[i] != x[j]) j = Next[j]; Next[++i] = ++j; }}int Next[1001000];int KMP(char x[], int m, char y[], int n)//x模式串 y主串{ int i, j; i = j = 0; get_next(x, m, Next); if (n > m) i = n - m; while (i < n) { if (j == -1 || y[i] == x[j]) { i++; j++; } else j = Next[j]; } return j;}int main(){ while (cin>>s1>>s2) { int len1 = strlen(s1); int len2 = strlen(s2); int ans = KMP(s1, len1, s2, len2); if (ans !=0 ) { for(int i=0;i<ans;i++) cout<<s1[i];cout<<" "; } cout<<ans<<endl; } return 0;}
0 0
- HDU 2594 Simpsons’ Hidden Talents(KMP)
- KMP hdu-2594 Simpsons’ Hidden Talents
- HDU 2594 Simpsons’ Hidden Talents KMP
- HDU 2594Simpsons’ Hidden Talents(KMP运用)
- HDU 2594 Simpsons’ Hidden Talents KMP
- hdu 2594 Simpsons’ Hidden Talents(KMP)
- hdu 2594 Simpsons’ Hidden Talents(KMP)
- HDU 2594 Simpsons’ Hidden Talents(KMP)
- hdu 2594 Simpsons’ Hidden Talents(KMP)
- HDU 2594 Simpsons’ Hidden Talents KMP
- HDU 2594 Simpsons’ Hidden Talents (KMP)
- hdu 2594 Simpsons’ Hidden Talents KMP
- HDU 2594 Simpsons’ Hidden Talents KMP题解
- hdu 2594 Simpsons’ Hidden Talents(数据结构:KMP)
- HDU 2594 Simpsons’ Hidden Talents(KMP)
- hdu 2594 Simpsons’ Hidden Talents (kmp扩展)
- 【KMP】 HDU 2594 Simpsons’ Hidden Talents
- hdu 2594 Simpsons’ Hidden Talents ( kmp )
- Cppcheck
- 网易邮箱账号OAuth2.0认证文档
- java随笔
- 解析GRE数学中重要符号的英文表达
- 使用httpclient、htmlcleaner 、xpath 采集新浪微博3G站点数据
- hdu 2594 Simpsons’ Hidden Talents 【KMP】
- 模态视图总结
- pthread_cond_wait
- Git学习个人整理记录(二)
- UML总结
- Http相关辅助类 HttpUtils
- 使用传输表空间的方法来迁移oracle 数据库从SPARC到X86-64
- 如何快速解答SAT语法题的方法
- android基础-利用SharedPreferences实现用户记住密码和自动登录