|
|
拿这道题来作为SA板子题,写了一遍又一遍
题目 2605 [HZOI 2016] 寒假ing
2017-02-12 18:59:08
|
|
题目 2605 [HZOI 2016] 寒假ing
2017-01-26 15:06:07
|
|
|
|
回复 @Mike is Fool :
并没有卡常,标称极限数据0.3秒过。 正解:首先枚举长度L,一段连续重复子串一定包含了两个下标为L的倍数的字符,设这两个位置为a1,a2,首先求出k = LCP(Suffix(a1),Suffix(a2))。如果k%L!=0那么记录jj = L - k%L,再次求LCP(Suffix(a1-jj),Suffix(a2-jj)),取两者的最大值更新答案就好。
题目 2605 [HZOI 2016] 寒假ing
2017-01-26 11:01:00
|
|
|
|
|
|
|
|
回复 @ONCE AGAIN :
还有一点,如果不反转的话怎么求向前匹配长度呢?似乎只能求向后匹配的长度吧。 是的,我发现了,应该在开大一点,但是卡常我也是无语了,不是要我们都来SAM+Tarjan吧。难道说应该hash乱搞!? |
|
|
|
见字符串即被干穿
题目 2605 [HZOI 2016] 寒假ing
2017-01-26 08:13:44
|
|
|
|
|
|
求神犇讲解压常数技巧,我完全是按照罗穗骞论文中说的做法写的。
|