提供一个的唐诗的 20pts 错法供后人嘲笑
查看原帖
提供一个的唐诗的 20pts 错法供后人嘲笑
252664
Twig_K楼主2025/1/13 15:18

如果你用 SA, 不要把复制数组时的 (n<<1) 写成 (1<<n) /kx

以及注意并查集 merge 时注意边界 0 (见其他hack帖).

for(int l=1;l<n;l<<=1)
{
    Sort(l);Sort(0);
    For(i,1,(1<<n)) ork[i]=rk[i]; m=0;
    For(i,1,n)
        if(i && ork[sa[i]]==ork[sa[i-1]] && ork[sa[i]+l]==ork[sa[i-1]+l]) rk[sa[i]]=m;
        else rk[sa[i]]=++m;
    if(m==n) break;
}
2025/1/13 15:18
加载中...