atcoder#AGC031D. [AGC031D] A Sequence of Permutations

[AGC031D] A Sequence of Permutations

题目描述

1 1 から N N の整数からなる 2 2 つの順列 p p q q に対して、順列 f(p,q) f(p,q) を以下を満たす順列として定めます。

  • f(p,q) f(p,q) pi p_i (1  i  N 1\ \leq\ i\ \leq\ N ) 項目の値は qi q_i である。 ただし, pi p_i , qi q_i はそれぞれ p p , q q i i 項目の値を表している。

1 1 から N N の整数からなる 2 2 つの順列 p p , q q が与えられます。 このとき、1 1 から N N の順列からなる列 {an a_n } を以下のように定めます。

  • a1=p a_1=p , a2=q a_2=q
  • an+2=f(an,an+1) a_{n+2}=f(a_n,a_{n+1}) ( n  1 n\ \geq\ 1 )

正整数 K K が与えられるので、aK a_K を求めて下さい。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K p1 p_1 ... pN p_N q1 q_1 ... qN q_N

输出格式

N N 個の整数を空白区切りで出力せよ。 i i (1  i  N 1\ \leq\ i\ \leq\ N ) 番目には aK a_K i i 項目の値を出力せよ。

题目大意

题目描述

给定两个长为 nn 的排列 p,qp,q,设 f(p,q)f(p,q) 为使第 pip_i 个数为 qiq_i 的排列。已知 a1=p,a2=q,an+2=f(an,an+1)a_1=p,a_2=q,a_{n+2}=f(a_n,a_{n+1})。求 aka_k.

数据范围

n105,k109n\le 10^5,k\le 10^9.

3 3
1 2 3
3 2 1
3 2 1
5 5
4 5 1 2 3
3 2 1 5 4
4 3 2 1 5
10 1000000000
7 10 6 5 4 2 9 1 3 8
4 1 9 2 3 7 8 10 6 5
7 9 4 8 2 5 1 6 10 3

提示

制約

  • 1  N  105 1\ \leq\ N\ \leq\ 10^5
  • 1  K  109 1\ \leq\ K\ \leq\ 10^9
  • p p q q 1 1 から N N の順列である。

Sample Explanation 1

a3=f(p,q) a_3=f(p,q) であるから、f(p,q) f(p,q) が求められればよいです。 この場合は pi=i p_i=i なので、f(p,q)=q f(p,q)=q となります。