@[Inf_Voltage](/user/119261) 不可能越界的吧,在这一步之前的sa[i]都是在合理范围内的
by syksykCCC @ 2020-02-28 21:58:03
@[syksykCCC](/user/51971) 事实上``sa[i]``的取值范围是``[1,n]``
by 7KByte @ 2020-02-28 22:00:05
@[Inf_Voltage](/user/119261) 事实上是可能的……开俩倍就好(被 1117 卡过 RE
by Aleph1022 @ 2020-02-28 22:04:09
得开两倍,但我好像不记得我开过两倍(雾
by MikukuOvO @ 2020-02-28 22:06:26
事实证明还有一种写法
```cpp
rep(i,2,n)x[sa[i]]=
y[sa[i-1]]==y[sa[i]]&&
(sa[i]+k>n||
(sa[i-1]+k<=n&&y[sa[i]+k]==y[sa[i-1]+k]))?
num:++num;
```
by 7KByte @ 2020-02-28 22:08:33
```cpp
rep(i,2,n)x[sa[i]]=y[sa[i-1]]==y[sa[i]]&&(sa[i]+k>n||(sa[i-1]+k<=n&&y[sa[i]+k]==y[sa[i-1]+k]))?num:++num;
```
by 7KByte @ 2020-02-28 22:09:14
@[Inf_Voltage](/user/119261) 您没开两倍?/jk
by syksykCCC @ 2020-02-28 22:10:47
只要多开 1 就行,然后 rk\[n+1\] 要初始化
by 小粉兔 @ 2020-02-28 22:15:07