如果你使用了倍增,预处理时别用:
for(int i = 1 ; i <= __lg( m ) ; i++ ) { for(int j = 1 ; j <= n ; j++ ) { fa[j][i]=...; w[j][i]=...; } }
因为 kkk 可能大于 mmm
直接改成这个就行
for(int i = 1 ; i <= 64 ; i++ ) { for(int j = 1 ; j <= n ; j++ ) { fa[j][i]=...; w[j][i]=...; } }