Processing math: 100%

BZOJ1396 : 识别子串

枚举左端点i,那么可行的右端点j的最小值单调不下降,可以通过双指针求出,检验可以通过在后缀数组里检查相邻height值做到O(1)

那么左端点为i,右端点在[j,n],它对前面一段的贡献为定值,对后面一段的贡献为等差数列,线段树维护即可。

时间复杂度O(nlogn)

 

  

posted @   Claris  阅读(373)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示