牛牛有個很喜歡的字串」puleyaknoi「。
牛牛有t個很長很長的字串,他很喜歡把字串中的子串(連續的某段)打亂,並且按照自己的喜好重新排列。
如果牛牛能把一段重新排列出他喜歡的字串,他就會把這個子串稱作:喜歡的子串。
牛牛是個懶人,他不喜歡對太長的子串進行重排,那樣他會覺著眼鏡很累。
你能幫他求出對於每個字串,最短的喜歡的子串的長度是多少嗎?
如果沒有,請輸出-1。
第一行乙個表示資料組數
接下來行每行乙個字串(保證字串只含小寫字母)
共t行每行乙個答案
輸入:
輸出:2
sxpuleyaaknoip
konijiwa
用尺取判斷和二分判斷均可,這裡使用二分判斷11
-1
二分出結果,然後暴力掃一遍看看此時的二分結果是否符合要求即可
#include#include#include#include#include#include#include#includeusing namespace std;
#define ll long long
const int n = 1e5 + 15;
char str[n];
bool check(int len, int k)
return false;
}int main()
int l = 0, r = len;
while (l < r)
printf("%d\n", l);
} return 0;
}
牛客練習賽70 重新排列
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 牛牛有個很喜歡的字串 puleyaknoi 牛牛有t個很長很長的字串,他很喜歡把字串中的子串 連續的某段 打亂,並且按照自己的喜好重新排列。如果牛牛能把一...
牛客練習賽 70
二分答案,然後迴圈一邊即可。define io ios sync with stdio false cin.tie cout.tie 0 pragma gcc optimize 2 include include using namespace std const int n 100010 int ...
拼湊 牛客練習賽70
牛牛還是很喜歡字串 puleyaknoi 牛牛有t個超長超長的字串,不過這次他更懶了,他希望直接在字串中看見他喜歡的字串。如果乙個子串中含有乙個子串行是 puleyaknoi 那麼他就把這個子串稱作好的子串。牛牛是個懶人,他不喜歡看太長的子串,那樣他會覺著眼鏡很累。你能幫他求出對於每個字串,最短的好...