No.2002 Range Swap Query
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 47
作問者 : to-omer / テスター : souta-1326 ygussany
タグ : / 解いたユーザー数 47
作問者 : to-omer / テスター : souta-1326 ygussany
問題文最終更新日: 2022-07-08 18:38:41
問題文
長さ $N$ の数列 $P=(1,2,\dots,N)$ があります。
また、 $K$ 個の操作があり、操作 $i$ は $P_{A_i}$ と $P_{B_i}$ を入れ替える操作です。
各 $j=1,2,\dots,Q$ について、操作 $L_j,L_j+1,\dots,R_{j}$ をこの順に行ったときの $P_{X_j}$ を求めてください。
ただし、どの $j$ でも操作の開始前は $P=(1,2,\dots,N)$ であることに注意してください。
制約
- 入力は全て整数である。
- $2\le N\le 4\times 10^{5}$
- $1\le K\le 2\times 10^{5}$
- $1\le Q\le 2\times 10^{5}$
- $1\le A_i<B_i\le N\ (1\le i\le K)$
- $1\le L_j\le R_j\le K\ (1\le j\le Q)$
- $1\le X_j\le N\ (1\le j\le Q)$
入力
$N$ $K$ $Q$ $A_1$ $B_1$ $A_2$ $B_2$ $\vdots$ $A_K$ $B_K$ $L_1$ $R_1$ $X_1$ $L_2$ $R_2$ $X_2$ $\vdots$ $L_Q$ $R_Q$ $X_Q$
出力
$Q$ 行出力してください。
$j$ 行目には操作 $L_j,L_j+1,\dots,R_{j}$ をこの順に行ったときの $P_{X_j}$ を出力してください。
サンプル
サンプル1
入力
3 3 2 1 2 1 3 2 3 2 2 1 1 3 2
出力
3 2
- $j=1$ :操作 $2$ のみを行うと、 $(\mathbf{1},2,\mathbf{3})\to(3,2,1)$ と変化するので、$P_1=3$ を出力します。
- $j=2$ :操作 $1,2,3$ を順に行うと、 $(\mathbf{1},\mathbf{2},3)\to(\mathbf{2},1,\mathbf{3})\to(3,\mathbf{1},\mathbf{2})\to(3,2,1)$ と変化するので、$P_2=2$ を出力します。
サンプル2
入力
6 9 8 1 5 1 4 4 5 1 4 4 5 1 4 4 5 1 3 4 5 4 6 3 5 7 5 3 8 5 4 6 3 3 6 2 8 9 5 3 6 2 1 4 5
出力
3 1 5 3 2 4 2 5
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。