子串查詢 二分

2021-09-26 23:53:24 字數 707 閱讀 6763

給出乙個長度為n的字串s和q個查詢。對於每乙個查詢,會輸入乙個字串t,你需要判斷這個字串t是不是s的子串。子串的定義就是存在任意下標a第二行乙個長度為n的字串s,所有字元都為小寫拉丁字元。

接下來q行每行乙個字串t。1<=|t|<=50。

輸出描述:

對於每個查詢,如果t是s的字串,輸出」yes」,否則輸出」no」。每個答案佔一行。

示例1輸入

複製8 4

ababcbaa

abac

accb

aaaa

abcba

輸出複製

yesno

yesyes

題意:輸入長度為n的字串s和q個詢問 每次詢問輸入乙個字串t問t是否是s的子串

思路:用二維陣列記錄所有字母出現的位置 用二分去找乙個每次比當前位置大的值,如果不存在比當前位置大的值 則代表子串不存在。

#include #include #include using namespace std;

vector v[30];

int main()

pos=*it;///更新pos的值

}if(flag)

cout << "no" << endl;

else

cout << "yes" << endl;

}return 0;

}

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

NC25138 子串查詢 基礎二分 子串行

題目描述 給出乙個長度為n的字串s和q個查詢。對於每乙個查詢,會輸入乙個字串t,你需要判斷這個字串t是不是s的子串。子串的定義就是存在任意下標a第一行兩個數n,q。1 n,q 1e5。第二行乙個長度為n的字串s,所有字元都為小寫拉丁字元。接下來q行每行乙個字串t。1 t 50。輸出描述 對於每個查詢...

1128 二分 二分查詢

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...