数据结构实验之串三:KMP应用
来源:互联网 发布:vm不能安装mac os x 编辑:程序博客网 时间:2024/06/06 09:41
数据结构实验之串三:KMP应用
Problem Description
有n个小朋友,每个小朋友手里有一些糖块,现在这些小朋友排成一排,编号是由1到n。现在给出m个数,能不能唯一的确定一对值l和r(l <= r),使得这m个数刚好是第l个小朋友到第r个小朋友手里的糖块数?
Input
首先输入一个整数n,代表有n个小朋友。下一行输入n个数,分别代表每个小朋友手里糖的数量。
之后再输入一个整数m,代表下面有m个数。下一行输入这m个数。
Output
如果能唯一的确定一对l,r的值,那么输出这两个值,否则输出-1
Example Input
51 2 3 4 532 3 4
Example Output
2 4
#include <stdio.h>#include <string.h>int nextval[1000005];void getnextval(int s2[], int m){ int i = 0; nextval[0] = -1; int j = -1; while(i < m){ if(j == -1||s2[i] == s2[j]){ i++;j++; if(s2[i] != s2[j]) nextval[i] = j; else nextval[i] = nextval[j]; } else j = nextval[j]; }}int kmp(int s1[], int s2[], int n, int m, int x){ int i = x; int j = 0; while(i < n&&j < m){ if(j == -1||s1[i]==s2[j]) { ++i; ++j; } else j= nextval[j]; } if(j >= m) return i-m+1; else return -1;}int main(){ int n, m, i; int s1[1000005],s2[1000005]; scanf("%d", &n); for(i=0; i<n; i++){ scanf("%d",&s1[i]); } scanf("%d",&m); for(i=0; i<m; i++){ scanf("%d",&s2[i]); } getnextval(s2, m); int x = kmp(s1, s2, n, m, 0); if(x!=-1){ int t = kmp(s1, s2, n, m, x); if(t == -1) printf("%d %d\n", x, x+m-1); else printf("-1\n"); } else printf("-1\n"); return 0;}
阅读全文
0 0
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 数据结构实验之串三:KMP应用
- 使用PROC编译.pc文件时错误情况及处理
- Mysql中MyISAM与InnoDB的区别
- 记一次Docker生产环境搭建
- Bytecode Outline plugin for Eclipse
- flex中的flex-direction
- 数据结构实验之串三:KMP应用
- 百度地图多边形消失的问题解决
- ARM裸机点LED
- Linux Tomcat JVM 参数调优
- Qt4.7开发吐槽(一)
- 使用 Load Balancer,Corosync,Pacemaker 搭建 Linux 高可用集群
- 迷宫和树等的BFS及DFS
- 推箱子第一关(存在bug)
- 开发ASP.NET MVC 在线录音录像(音视频录制并上传)
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
环氧电子灌封胶
电子灌封胶
高温灌封胶
led 灌封胶
道路灌封胶
双组份电子灌封胶
电机灌封胶
ab灌封胶
阻燃灌封胶
灌封胶生产厂家
高强度灌封胶
透明电子灌封胶
灌封胶品牌
灌封防水胶
公路灌封胶
电子产品灌封胶
混凝土灌封胶
电路板灌封胶
双组份导热灌封胶
接线盒灌封胶
硅酮灌封胶
裂缝灌封胶
光伏灌封胶
电子灌封胶应用
电容器灌封胶
电池灌封胶
电缆灌封胶
电子灌封胶去除
电子灌封胶价格
道康宁灌封胶
蓄电池灌封胶
高压灌封胶
地面灌封胶
单组份电子灌封胶
显示屏灌封胶
高透明灌封胶
灌封胶设备
黑色电子灌封胶
互感器灌封胶
威孚灌封胶
蓝色灌封胶