月月查華華的手機(4月2日題目 列舉優化)

2021-10-04 18:34:01 字數 1185 閱讀 4622

題意:

輸入乙個字串 a

aa,乙個整數 n

nn,表示接下來有 n

nn 個字串 b

ib_i

bi​,判斷 b

ib_i

bi​ 是否為 a

aa 的子串行。

思路:

暴力的話 o(∣

a∣⋅∑

bi

)o(|a|·\sum b_i)

o(∣a∣⋅

∑bi​

),會 t。

n ex

t[i]

[′a′

...′

z′

]next[i]['a'...'z']

next[i

][′a

′...

′z′]

表示第 i

ii 個位置往後的第乙個'a'...'z'出現的位置。

從後往前掃,用 las

t[′a

′...

′z′]

last['a'...'z']

last[′

a′..

.′z′

] 維護當前位置往後第乙個'a'...'z'出現的位置,把 las

tlast

last

賦值給 nex

t[i]

next[i]

next[i

] 即可。

code:

#include

#define mem(a, x) memset(a, x, sizeof(a))

using

namespace std;

const

int maxn =

1e6+5;

int n;

char s[maxn]

, t[maxn]

;int nex[maxn][26

], last[26]

;void

deal()

}bool

check()

return

true;}

intmain()

return0;

}

月月查華華的手機

序列自動機 月月和華華一起去吃飯了。期間華華有事出去了一會兒,沒有帶手機。月月出於人類最單純的好奇心,開啟了華華的手機。哇,她看到了一片的qq推薦好友,似乎華華還沒有瀏覽過。月月頓時醋意大發,出於對好朋友的關心,為了避免華華浪費太多時間和其他聊天,她要刪掉一些推薦好友。但是為了不讓華華發現,產生猜疑...

牛客網 每日一題 4月2日 月月查華華的手機

牛客網鏈結 時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 月月和華華一起去吃飯了。期間華華有事出去了一會兒,沒有帶手機。月月出於人類最單純的好奇心,開啟了華華的手機。哇,她看到了一片的qq推薦好友,似...

牛客網 每日一題 4月2日 月月查華華的手機

牛客網鏈結 時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 月月和華華一起去吃飯了。期間華華有事出去了一會兒,沒有帶手機。月月出於人類最單純的好奇心,開啟了華華的手機。哇,她看到了一片的qq推薦好友,似...