在倍增时,为什么一定要写成这样:
for(int j=1;j<=19;j++) { for(int i=1;i<=n;i++) { go[i][j]=go[min(go[i][j-1]+1,n)][j-1]; } }
而不是这样:
for(int j=1;(1<<j)<=n;j++) { for(int i=1;i+(1<<j)-1<=n;i++) { go[i][j]=go[go[i][j-1]][j-1]; } }
写成下面这样会 WA on #4.
求指教