字串匹配

2022-02-26 13:42:40 字數 691 閱讀 5925

【題目描述】

給定兩個串a、b,可以得到從a的任意位開始的子串和b匹配的長度。

給定k個詢問,對於每個詢問給定乙個x,求出匹配長度恰為x的位置有多少個(n,m,k <= 200000)。

【輸入描述】

第一行輸入三個數n、m、k,表示a的長度、b的長度和詢問數;

第二行輸入串a;

第三行輸入串b;

接下來k行,每行輸入乙個數x。

【輸出描述】

對於每次詢問,輸出乙個數。

【樣例輸入】

6 2 2

aabcdeab0

2【樣例輸出】41

源**:

#include

char s1[200001],s2[200001

];int n,m,k,next[200001],num[200001

];int

main()

int t(0

);

for (int a=0;a)

for (int a=m;a>0;a--)

num[next[a]]+=num[a];

for (int a=0;a<=m;a++)

num[a]-=num[a+1

];

for (int a=1;a<=k;a++)

return0;

}

字串匹配

題目描述 讀入資料string 然後讀入乙個短字串。要求查詢string 中和短字串的所有匹配,輸出行號 匹配字串。匹配時不區分大小寫,並且可以有乙個用中括號表示的模式匹配。如 aa 123 bb 就是說aa1bb aa2bb aa3bb都算匹配。輸入 輸入有多組資料。每組資料第一行輸入n 1 n ...

字串匹配

time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1,第二行代表string2,string1和string2中保證不出現...

字串匹配

面試題 給一串很長的字串,要求找到符合要求的字串,例如目的串 123 1 3 2 12 3 這些都要找出來 思路一 利用兩層迴圈,逐個查詢目的串中的字元,比如先查詢字元 1 是否在長字串中,再查詢 2 是否在長字串中,直到目的串遇到 0 是 include include include int m...