如果你用类似倍增 LCA 的写法:
for(int i=1,k=m,l=1;i<=n;i++,k=m,l=i){ for(int j=60;j>=0;j--) if(k>=(1ll<<j)) k-=(1ll<<j),l=f[l][j]; cout<<l<<" "; }
在类似第三行的东西里面:
一定要写 1ll!
1ll
一定要写 1ll!一定要写 1ll!
一定要写 1ll!一定要写 1ll!一定要写 1ll!