sdutacm 資料結構實驗之串一 KMP簡單應用

2021-07-28 01:30:44 字數 940 閱讀 6930

資料結構實驗之串一:

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是要插入...