P7981 [JRKSJ R3] system

题目描述

定义对序列 $a$ 的一次操作为令 $b_i\gets a_{a_i}$,再令 $a_i\gets b_i$,其中 $i\in[1,n]$。 给你一个长为 $n$ 的序列 $a$,询问对 $a$ 进行 $k$ 次操作后的序列。

输入格式

第一行两个整数 $n,k$。 第二行 $n$ 个整数表示序列 $a$。

输出格式

一行共 $n$ 个整数,表示 $k$ 次操作后的序列 $a$。

说明/提示

### 样例解释 对于第 $1$ 个样例,$a$ 的变化如下: $$5,1,3,4,2$$ $$2,5,3,4,1$$ ### 数据规模与约定 本题采用捆绑测试。 | $\text{Subtask}$ | $n\le$ | 特殊性质 | 分值 | | :----------: | :----------: | :----------: | :----------: | | $1$ | $10^4$ | $\text A$ | $5$ | | $2$ | $10^2$ | 无 | $15$ | | $3$ | $10^4$ | $\text B$ | $10$ | | $4$ | $5\times 10^5$ | $\text B$ | $20$ | | $5$ | $5\times 10^5$ | $\text C$ | $20$ | | $6$ | $5\times 10^5$ | 无 | $30$ | 性质 $\text A$:$0\le k\le 10^3$。\ 性质 $\text B$:$a_i=i\bmod n+1$。\ 性质 $\text C$:$a$ 是一个 $[1,n]$ 的排列。 对于 $100\%$ 的数据,$1\le n\le 5\times 10^5$,$0\le k\le 10^9$,$1\le a_i\le n$。