for(int p=1;p<=k;p++){
int i=a[p];
L[1]=p;
if(adj[i])L[i]=p;
else if(e[i].size()<=M)for(int j:e[i])if(exist[j])L[i]=max(L[i],L[j]);
l[p]=L[i];
exist[i]=1;
for(int j:e2[i])L[j]=max(L[j],L[i]);
}
for(int p=1;p<=k;p++){
int i=a[p];
if(adj[i])l[p]=p;
else if(e[i].size()<=M)for(int j:e[i])l[p]=max(l[p],re[j]);
else l[p]=L[i];
re[i]=l[p];
for(int j:e2[i])L[j]=max(L[j],l[p]);
}
这两种有什么区别,第一种wa,第二种ac