資料結構實驗之串一:
kmp簡單應用
timelimit: 1000ms memory limit: 65536kb
submit
statistic
problem description
給定兩個字串
string1
和string2
,判斷string2
是否為string1
的子串。
input
輸入包含多組資料,每組測試資料報含兩行,第一行代表
string1(
長度小於
1000000)
,第二行代表
string2
(長度小於
1000000
),string1
和string2
中保證不出現空格。
output
對於每組輸入資料,若
string2
是string1
的子串,則輸出
string2
在string1
中的位置,若不是,輸出-1。
example input
abc a
123456
45abc
dddexample output 14-1
hint
author
cjx
#include#include#include#include#includeusing namespace std;
int next[1000002];
void qnext(char *p,int next)
{ int plen = strlen(p);
next[0] = -1;
int k = -1;//k表示字首,j表示字尾
int j = 0;
while(j
sdutacm 資料結構實驗之串三 KMP應用
資料結構實驗之串三 kmp應用 timelimit 1000ms memory limit 65536kb submit statistic problem description 有 n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到 n。現在給出 m個數,能不能唯一的確定...
SDUTACM 資料結構實驗之查詢七 線性之雜湊表
根據給定的一系列整數關鍵字和素數p,用除留餘數法定義hash函式h key key p,將關鍵字對映到長度為p的雜湊表中,用線性探測法解決衝突。重複關鍵字放在hash表中的同一位置。連續輸入多組資料,每組輸入資料第一行為兩個正整數n n 1000 和p p n的最小素數 n是關鍵字總數,p是hash...
SDUTACM 資料結構實驗之查詢五 平方之雜湊表
給定的一組無重複資料的正整數,根據給定的雜湊函式建立其對應hash表,雜湊函式是h key key p,p是雜湊表表長,p是素數,處理衝突的方法採用平方探測方法,增量di i 2,i 1,2,3,m 1 輸入一組測試資料,資料的第1行給出兩個正整數n n 500 和p p 2n的最小素數 n是要插入...