【JZOJ4964】【GDKOI2017模擬1.21】Rhyme

hafy

由於多次交換郵票沒有滿足所有人的需求,小Z被趕出了集郵部。無處可去的小Z決定加入音樂部,爲了讓音樂部的人注意到自己的才華,小Z想寫一首曲子。爲了讓自己的曲子更好聽,小Z找到了一些好聽曲子作爲模板。曲譜可以表示成只包含小寫字母的字符串,小Z希望自己最終的曲譜中任意一個長度爲K的子串都是一個模板的子串。現在小Z想知道自己的曲譜最長可以是多長,如果可以無限長的話請輸出INF。

forget

對於30%的數據:K=2。
對於70%的數據:每組數據字符串總長不超過1000。
對於100%的數據:每組數據字符串總長不超過100000,1≤K≤100000。每個測試點數據不超過10組。

anfa

刨根問底:
這道題究竟在求些什麼?
在即將要求的曲譜中,我們希望它的所有長度爲k 子串都必須是一個模板的子串。
出於我必須明白這個曲譜究竟會有什麼樣的性質這個目的,我倒過來思考。


曲譜它的每個長度爲k 的子串都並非獨立而言的;
對於一個長度爲k1 的子串,如果能夠後接字符,就等同於在某個包含這個子串的模板中的後接字符。
如果我要解題,肯定是在這個特殊之處做手腳


這個特殊之處給我們什麼啓發呢?
挖掘:

1.要維護的子串數量較少;
2.可以建立DAG來映射。

這樣就好做了,一個哈希套上去就是了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章