TouchStone
  Please Login
ログイン 登録
 ホームページ  問題セット  試験一覧  提出状況  掲示板  統計情報
  • ホーム
  • 問題セット
  • P8222
  • 問題
  • P8222[CCO2021] 德芙的排序研究
    制限 : 時間制限 : - MS   メモリ制限 : 1048576 KB
    審判説明 : 3s,1GB
    問題説明

    德芙有一个长度为 \(N\) 的序列,每项都是不超过 \(K\) 的正整数。

    德芙的好朋友ztc发明了一个排序算法,可以根据一个 \(1\sim K\) 的排列对序列进行排序,排序后序列中任意两个不相等的数的相对位置与排列中的相对位置相同。ztc的算法只使用了相邻 \(\mathrm{swap}\) 操作,且总是保证 \(\mathrm{swap}\) 的操作次数最少。为了方便描述,ztc将这个 \(1\sim K\) 的排列称为目标排列

    例如,序列为 \([1,4,2,1,2]\) ,目标排列为 \([4,1,2,3]\) ,排序后为 \([4,1,1,2,2]\)

    德芙对ztc的排序算法在目标排列不同时执行 \(\mathrm{swap}\) 的次数很感兴趣。为了研究其中的规律,德芙一开始将目标排列设置为 \([1,2,\cdots,K]\) ,并以此进行 \(Q\) 次操作,每次操作交换目标排列中相邻的两个数的位置。每次交换后,德芙想知道如果用ztc的排序算法对原序列进行排序会执行 \(\mathrm{swap}\) 的次数。

    入力形式

    第一行三个正整数 \(N,K,Q\)

    第二行 \(N\) 个正整数 \(a_1,a_2,\cdots,a_N\) ,表示原序列。

    接下来 \(Q\) 行,每行一个正整数 \(j\) ,表示交换目标排列中的第 \(j,j+1\) 个数。

    出力形式

    对于每个询问,输出一行,表示答案。

    サンプル入力

    5 4 3
    1 4 2 1 2
    3
    2
    1

    サンプル出力

    4
    2
    2

    ヒント

    样例解释

    1. 交换目标排列第3,4项,目标排列是[1,2,4,3],原序列排序后是[1,1,2,2,4],需要4次swap;
    2. 交换目标排列第2,3项,目标排列是[1,4,2,3],原序列排序后是[1,1,4,2,2],需要2次swap;
    3. 交换目标排列第1,2项,目标排列是[4,1,2,3],原序列排序后是[4,1,1,2,2],需要2次swap。

    数据范围

    所有测试数据:
    \(1\leq K\leq N\leq 100\;000\)
    \(1\leq Q\leq 1\;000\;000\)
    \(1\leq a_i \leq K\)
    \(1\leq j\leq K-1\)

    官方数据太多,只放了少量极限数据,你可以自己 去下载 完整数据包自行评测