有一天,歐姆諾姆發現了一串長度為n的寶石串,上面有五顏六色的寶石。他決定摘取前面若干個寶石來做成乙個漂亮的項鍊。
他對漂亮的項鍊是這樣定義的,現在有一條項鍊s,當s=a+b+a+b+a+...+a+b+a的時候是漂亮的,這兒a,b是一些寶石串,「+」表示連線操作。s中有k+1個a和k個b組成。a和b可能是空串。
現在給出寶石串,問怎麼切前幾個才能得到乙個漂亮的寶石項鍊。他切下來之後不會改變寶石的順序。
樣例解釋:
在這個樣例中前6個可以組成漂亮的串( a="", b="bca")。前7個也可以(a="b", b="ca")。
input
單組測試資料。output第一行有兩個整數n, k (1≤n,k≤1 000 000),表示寶石串原始的長度和在上文中提到的引數k。
第二行有n個由小寫字母組成的串,表示原始寶石串。
輸出一行有n個01組成的字串。第i(1≤i≤n)個位置是1的時候表示前i個寶石可以組成漂亮的寶石項鍊。input示例
樣例輸入1output示例7 2bcabcab
樣例輸出1
#include #include using namespace std;
const int n = 1e6 + 100;
int next[n], n, k;
char s[n];
void getnext()
else
} } int main()
else
} else
else
} }
puts("");
return 0;
}
51nod1554 歐姆諾姆和項鍊
1554 歐姆諾姆和項鍊 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 80 難度 5級演算法題 有一天,歐姆諾姆發現了一串長度為n的寶石串,上面有五顏六色的寶石。他決定摘取前面若干個寶石來做成乙個漂亮的項鍊。他對漂亮的項鍊是這樣定義的,現在有一條項鍊s,當s a ...
歐姆諾姆和糖果
一天,歐姆諾諾姆來到了朋友家裡,他發現了許多糖果。有藍色和紅色兩種。他知道每顆紅色糖果重wr克,每顆藍色糖果重wb克。吃一顆藍色糖果會給他帶來hb的歡樂值,吃一顆紅色糖果會給他帶來hr的歡樂值。歐姆諾姆最多只能吃c克的糖果,而且每一顆糖果不能只吃一半。現在他想通過吃藍色和紅色的糖果來獲得最大的歡樂值...
51nod1554 歐姆諾姆和項鍊 kmp
有一天,歐姆諾姆發現了一串長度為n的寶石串,上面有五顏六色的寶石。他決定摘取前面若干個寶石來做成乙個漂亮的項鍊。他對漂亮的項鍊是這樣定義的,現在有一條項鍊s,當s a b a b a a b a的時候是漂亮的,這兒a,b是一些寶石串,表示連線操作。s中有k 1個a和k個b組成。a和b可能是空串。現在...