倍增

P6148 [USACO20FEB] Swapity Swapity Swap S

每一次置换的操作均为相同的,所以置换是满足结合律的,考虑倍增。

预处理出 \(f_{i,j}\) 表示第 \(i\) 个数经过 \(2^j\) 置换后变成了什么数,\(f_{i,0}\) 模拟即可$$f_{i,j}=f_{f_{i,j-1},j-1}$$

posted @ 2021-10-29 20:40  yyhde3301  阅读(22)  评论(0)    收藏  举报