給出乙個長度為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 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...