第一篇题解关于判断链是否满足删边顺序条件的中他是这么写的:
inline bool chkl(const int p1,const int p2){
if(mark[pt[p1]]==1)return false;
rep(i,pt[p1]+1,pt[p2]-1)if(mark[i]==2)return false;
if(mark[pt[p2]]==1)return false;
return true;
}
inline bool chkr(const int p1,const int p2){
if(mark[pt[p1]]==2)return false;
fep(i,pt[p1]-1,pt[p2]+1)if(mark[i]==1)return false;
if(mark[pt[p2]]==2)return false;
return true;
}
于是我很好奇这个题解为什么不是O(n^3)的,用小号教了一发也过链了
求求大佬解释