求助 lca炸了

学术版

Ptilopsis_ @ 2024-10-13 14:30:21

这个是对的

int h=dep[a]-dep[b];
int i=0;
while(h>0)
{
    if(h&1)
        a=f[a][i];
    i++;
    h>>=1;
 }

这个是错的

for(int i=M-1;i>=0;i--)
    if(dep[f[a][i]]>=dep[b])
        a=f[a][i];

by xyin @ 2024-10-13 18:43:16

这得看你的 M 设为多大了


|