SAM正着建串的正确性
查看原帖
SAM正着建串的正确性
625206
Remilia1023楼主2022/12/16 00:58

看到同机房巨佬正着过的,首先跑了很多很多组 n=500000n=500000 的对拍,过了。

开始思考,由于此题为求 lcp(Ti,Tj)\sum \text{lcp}(T_i, T_j),所以才能保证正确性。

a,b,c,za,b,c,z 为任意字符串,a,b,ca,b,c 可为空,对于某个串 azbzcazbzc,正着时 zbzc,zczbzc,zc 产生一次贡献,则反着时 zbza,zazbza,za 必定会产生一次贡献,由此可得 ansrevansorians_{rev}\ge ans_{ori},反正证一遍,过程一模一样,得 ansrevansorians_{rev}\le ans_{ori},所以 ansrev=ansorians_{rev}= ans_{ori}

2022/12/16 00:58
加载中...