后缀数组不熟练的锅

回复帖子

@ErkkiErkko  2019-04-08 08:53 回复

WA:

inline int lcp(int x,int y){
    x=rk[x],y=rk[y];
    if(x==y)return n-x+1;
    if(x>y)std::swap(x,y);
    ++x;int lim=log2(y-x+1);
    return std::min(st[lim][x],st[lim][y-(1<<lim)+1]);
}

AC:

inline int lcp(int x,int y){
    if(x==y)return n-x+1;
    x=rk[x],y=rk[y];
    if(x>y)std::swap(x,y);
    ++x;int lim=log2(y-x+1);
    return std::min(st[lim][x],st[lim][y-(1<<lim)+1]);
}

pts: $80 \to 30$

rank: $2 \to 3$

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。