Lyndon分解
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
HDU.6761.Minimum Index(Lyndon分解)
HDU.6761.Minimum Index(Lyndon分解) 思路:LyndonLyndonLyndon分解。 分三种情况。 令d[i]d[i]d[i]表示前缀iii的最小后缀位置 当s[j]==s[k]s[j]==s[k]s[j]==s[k]时,说明因为s[j…k]s[j\dots k]s[j…k]含有循环节(k−j)(k-j)(k−j)。所以d[k]=d[j]+(k−j)d[k]=d[j]+(k-j)d[k]=d[j]+(k−j)。 当s[j]<s[k]s[j]<s[k]s[j]<原创 2020-07-24 16:17:15 · 501 阅读 · 0 评论 -
P6114 【模板】Lyndon 分解
P6114 【模板】Lyndon 分解 冷门的板子题,居然在hduhduhdu多校出了。 搞一波,这里不讲解原理,只讲实现。 将字符串分为三个部分:s1s2s3s_1s_2s_3s1s2s3。 s1:s_1:s1:已经进行处理好的LyndonLyndonLyndon串。 s2:s_2:s2:正在处理的LyndonLyndonLyndon近似串。 s3:s_3:s3:未处理的串。 1.预备工作,三个指针i,j,ki,j,ki,j,k。 i:i:i:指向s2s_2s2的首字符。 j:j:j:指向原创 2020-07-24 14:16:52 · 388 阅读 · 0 评论