B. Permute K times 2

    传统题 2000ms 1024MiB

Permute K times 2

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Permute K times 2

题目描述

你被给定了一个排列 P=(P1,P2,…,PN)P=(P_1,P_2,\ldots,P_N),它是 (1,2,…,N)(1,2,\ldots,N) 的一个置换。 下面的操作会执行 KK 次:

对 i=1,2,…,Ni=1,2,\ldots,N,同时 将 PiP_i 更新为 PPiP_{P_i}。

输出所有操作之后的 PP。

输入格式

输入按下列格式从标准输入给出: NN KK P1P_1 P2P_2 …\ldots PNP_N

输出格式

对于所有操作之后的 PP,按顺序输出 P1,P2,…,PNP_1,P_2,\ldots,P_N,以空格分隔。

6 3
5 6 3 1 2 4
6 1 3 2 4 5
5 1000000000000000000
1 2 3 4 5
1 2 3 4 5
29 51912426
7 24 8 23 6 1 4 19 11 18 20 9 17 28 22 27 15 2 12 26 10 13 14 25 5 29 3 21 16
18 23 16 24 21 10 2 27 19 7 12 8 13 5 15 26 17 4 3 9 1 22 25 14 28 11 29 6 20

提示

1≤N≤2×1051\leq N\leq2\times10^5 1≤K≤10181\leq K\leq10^{18} 1≤Pi≤N (1≤i≤N)1\leq P_i\leq N\ (1\leq i\leq N) Pi≠Pj (1≤i<j≤N)P_i\neq P_j\ (1\leq i\lt j\leq N) 所有输入值均为整数。每次操作后,PP 的变化如下:

第一次操作后,PP 为 (2,4,3,5,6,1)(2,4,3,5,6,1)。 第二次操作后,PP 为 (4,5,3,6,1,2)(4,5,3,6,1,2)。 第三次操作后,PP 为 (6,1,3,2,4,5)(6,1,3,2,4,5)。

因此,输出 6132456 1 3 2 4 5。
由于 Pi=iP_i=i,无论执行多少次操作,PP 都不会改变。

标签: AtCoder|abc377E

来源

AtCoder|abc377E