HDU - 1711 Number Sequence(KMP)
2015-10-26 22:22
531 查看
题目大意:给你两个串,问第二个串是否在第一个串出现过,如果出现,输出最早出现的位置
解题思路:KMP裸题
解题思路:KMP裸题
#include <cstdio> #include <cstring> const int N = 1000010; int a , b , next ; int n, m; void init() { scanf("%d%d", &n, &m); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); for (int j = 1; j <= m; j++) scanf("%d", &b[j]); } void getFail() { next[1] = 0; int i = 1, j = 0; while (i <= m) { if (j == 0 || b[i] == b[j]) { j++; i++; next[i] = j; } else j = next[j]; } } int solve() { getFail(); int i = 1, j = 1; while (i <= n) { if (j == 0 || a[i] == b[j]) { i++; j++; if (j == m + 1) return i - m; } else j = next[j]; } return -1; } int main() { int test; scanf("%d", &test); while (test--) { init(); printf("%d\n", solve()); } return 0; }
相关文章推荐
- Web应用中request获取path,URI,URL
- 关于UI设计师面试的那些事儿
- iOS界面编程-UITextView
- UI设计中主流椭圆矩形2钟标准绘制方法
- 绘制自定义的图形
- require.js的理解
- 创建UITableViewCell(不使用XIB情况)
- hdu 4620 Fruit Ninja Extreme(暴力)
- UESTC OJ1217(树状数组)
- light oj 1100 - Again Array Queries
- UITableView 编辑
- UIImage剪切图片为自定义大小
- hdu 4604 Deque(LIS)
- UIWindow UILable 属性 方法
- POJ 2533 Longest Ordered Subsequence
- iOS 中UIButton的 settitle 和 titlelabel的使用误区
- Spark中DenseMatrix中values()和toArray方法的区别
- Pku1947 Rebuilding Roads
- UESTC OJ1218(DP)
- Leetcode -- N-Queens