題目:
小x夢中得到乙個神秘字串,醒來後他趕快記了下來。
這個字串大概是一篇晦澀難懂的文章,姑且不用去管他的含義,小x想給它起乙個標題來表示這份天書。
但是小x是起名困難戶,於是他找到了小y和小z來一起商量。
小x覺得,標題是這個字串的開頭一段和結尾一段就行,簡單、直觀;而小y覺得,乙個好的標題應該還在文章中間的某乙個地方出現過,除了開頭和結尾部分;小z和小y的看法一樣,不過小z希望他自己在文章中找到的標題出現的位置和小y找到的位置不一樣。
如果有多個標題符合要求,他們一致同意採用最長的那個。
你知道他們最後採用了哪個嗎?
不超過20組資料。
對於每組資料,輸入一行乙個字串表示文章內容,字串只由小寫英文本母構成,每個字串長度不超過500000。
對於每組資料,輸出一行乙個字串表示最終選用的標題;如果找不到合適的標題,輸出一行乙個字串「cannot find it」。
aaaaaaaa
abacadaeafa
fixprefixsuffixsowhatisfix
cannot find itaaafix
aa是aaaaa的字首以及字尾,另外,把字串從1到5標號,小y可以在位置2~3處找到乙個aa,而小z可以在另乙個位置3~4處找到乙個aa。
**:
#include
#include
#include
using
namespace std;
char c[
500005
];int nextt[
500005
];void
getnext
(char
*t,int m)
}int
main()}
else j = nextt[j];}if
(sum >=3)
break
; d = nextt[d];
while
(d>
0&& c[d]
!= c[l])d = nextt[d];}if
(sum >=3)
for(
int i =
1; i <= d; i++)
printf
("%c"
, c[i]);
else
printf
("cannot find it"
);printf("
\n");}
return0;
}
附上自己除錯時用的測試用例:aaa
aaaaba
ababab
abababa
abababab
abababcab
ababacbab
aaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaab
aaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaa
aaaabaaaabaaaabaaaa
aaaabaaaabaaaabaaaabaaaa
aaaabaaaabaaaabaa
CSU1973 給自己出題的小X
本題本意是搜尋題,直接小優化剪枝裸搜即可,然而可以dp,看了石文斌的題解,設f i j k 為前i個數,選出j個,相差大於k的方案數,先預處理 f i 1 k 1 f i j k f l j 1 k 之和 a i a l k,a陣列先預處理成從小到大排序的序列 序列順序不影響方案數的 然後統計f i...
設定X 軸的標題
chart1.chartareas chartarea1 axisx.title 季節 x軸標題 chart1.chartareas chartarea1 axisx.titlealignment stringalignment.far 設定y軸標題的名稱所在位置位遠 chart1.chartare...
小X的質數
題目描述 在小x的認知裡,質數是除了本身和1以外,沒有其他因數的數。但由於小x對質數的熱愛超乎尋常,所以小x同樣喜歡那些雖然不是質數,但卻是由兩個質數相乘得來的數。於是,我們定義乙個數小x喜歡的數,當且僅其是乙個質數或是兩個質數的乘積。輸入 第一行輸入個正整數q,表示詢問的組數。接下來q行,包含兩個...