警示后人(TLE 29pts)
查看原帖
警示后人(TLE 29pts)
376997
Harry27182SDream楼主2022/8/6 14:52

你的 Z 函数处理如果是从 1 枚举到 m ,你会 TLE 29pts (AC #1 #4 #9 #10)。

原因是你第一次去处理的时候会使 l=1,r=m,这样做会导致后面的 r 永远不会比现在的 r 大,从而不会更新 l 。l 永远为 1 的后果就是每次 i-l+1 都会等于 i,所以每次 z[i] 的初值都是 0,这样算法就会退化为 O(n2)O(n^2) 的暴力扩展。

2022/8/6 14:52
加载中...