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

2021-10-04 17:14:50 字數 1879 閱讀 6156

牛客網鏈結

時間限制:c/c++ 2秒,其他語言4秒 空間限制:c/c++ 262144k,其他語言524288k 64bit io format:

%lld

題目描述

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

月月熟知華華搭訕的規則。華華想與某個小姐姐搭訕,當且僅當小姐姐的暱稱是他的暱稱的子串行。為了方便,華華和小姐姐的暱稱只由小寫字母構成。為了更加方便,保證小姐姐的暱稱長度不會比華華的長。

現在月月要快速的判斷出哪些推薦好友要刪掉,因為華華快回來了,時間緊迫,月月有點手忙腳亂,所以你趕緊寫個程式幫幫她吧!

輸入描述:

第一行輸入乙個字串a表示華華的暱稱。 第二行輸入乙個正整數n表示華華的推薦好友的個數。

接下來n行,每行輸入乙個字串bib_ibi​表示某個推薦好友的暱稱。

輸出描述:

輸出n行,對於第i個推薦好友,如果華華可能向她搭訕,輸出yes,否則輸出no。 注意大寫,同時也要注意輸出效率對演算法效率的影響。

示例1

輸入

noiauwfaurainairtqltqlmomomo

8rain

airtql

nttxiaobai

oiiiooo

orzcnzcnznb

ooooo

輸出

yes

yesyes

yesno

yesno

no

備註:

題解:

字串問題

有兩個解決方法,字典樹和序列自動機都能做(我想到的)

這裡就不講字典樹了

序列自動機:

序列自動機就是用乙個陣列next[i][j]來記錄陣列a第i位的字元j在i後第一次出現的座標。

設串長為n,字符集大小為a,預處理時間複雜度為o(n*a)

序列自動機講解

for(int i=n;i;i--)

**:

#include

#include

#include

#include

#include

#define forr(n) for(int i=1;i<=n;i++)

#define fore(n) for(int j=1;j<=n;j++)

using namespace std;

const int ma=1000004;

char a[ma]

;int len;

int w=0;

int m;

bool f=1;

int next[ma]

[30]

;int main(

) cin>>m;

char ch=getchar();

forr(m)

} if(f!=0)cout<<

"yes"

<

}return 0;

}

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

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

牛客網 每日一題 5月9日 過河

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld在河上有一座獨木橋,乙隻青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋...

牛客網 每日一題 4月14日題目精講 Xorto

傳送時間限制 c c 2秒,其他語言4秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 給定乙個長度為n的整數陣列,問有多少對互不重疊的非空區間,使得兩個區間內的數的異或和為0。輸入描述 第一行乙個數n表示陣列長度 第二行n個整數表示陣列 1 n 10...