void st(){ for(int j=1;j<=25;j++) for(int i=1;i<=n;i++) fa[i][j]=fa[fa[i][j-1]][j-1]; }
一开始两个循环写反了,其实仔细想想就能明白为甚么是错的,如果倍增的上一层都没完全更新好,如之何更新下一层呢??
我这个错误写法可以过一部份点