CFCF2206J.Worldwide Playlist

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你正在计划一次环游世界的旅行。为此,你在手机上安装了一个包含 nn 首歌的音乐应用,歌曲编号为 11nn

应用最初会为这 nn 首歌生成一个播放列表,以 1,2,,n1, 2, \ldots, n 的一个排列形式表示,记为 a1,a2,,ana_1, a_2, \ldots, a_n。这些歌曲会按照 a1,a2,,ana_1, a_2, \ldots, a_n 的顺序播放:a1a_1 首先播放,接着是 a2a_2,依此类推。播放列表是无限循环的:每当 ana_n 播放完毕后,又会从 a1a_1 开始。

每当当前歌曲播放结束后,下一首歌会自动播放。在一首歌尚未结束前,你也可以按下“跳过”按钮立即跳至列表中下一首歌。

你希望按照 b1,b2,,bnb_1, b_2, \ldots, b_n 这个期望排列完整听完这 nn 首歌。也就是说,你希望通过适当按“跳过”按钮的次数,使得你完整听到的第 11 首歌是 b1b_1,第 22 首是 b2b_2,……,第 nn 首是 bnb_n,之后就停止听歌。

你共使用这个播放列表 dd 天。在每两天之间,你会用三个整数 ccxxyy 对排列进行一次更新:

  • 如果 c=1c=1,那么交换 axa_xaya_y
  • 如果 c=2c=2,那么交换 bxb_xbyb_y

每次操作的效果会持续作用到之后的所有天数。

对于每一天,假设你从 a1a_1 开始听,请你计算最少需要按多少次“跳过”按钮,才能按顺序完整听到 b1,b2,,bnb_1, b_2, \ldots, b_nnn 首歌。

输入格式

第一行包含两个整数 nndd2n2000002 \le n \le 200\,0002d2000002 \le d \le 200\,000)。

第二行包含 nn 个整数,表示初始的 a1,a2,,ana_1, a_2, \ldots, a_n1ain1 \le a_i \le naiaja_i \neq a_jiji \neq j)。

第三行包含 nn 个整数,表示初始的 b1,b2,,bnb_1, b_2, \ldots, b_n1bin1 \le b_i \le nbibjb_i \neq b_jiji \neq j)。

接下来的 d1d-1 行,每行包含三个整数 c,x,yc, x, yc{1,2}c \in \{1, 2\}1x<yn1 \le x < y \le n),表示第 kk 天和第 k+1k+1 天之间的更新操作。

输出格式

输出 dd 行,每行一个整数,第 kk 行表示第 kk 天所需的最小按“跳过”按钮次数。

输入输出样例

  • 输入#1

    4 3
    1 4 2 3
    3 2 1 4
    1 3 4
    2 1 3

    输出#1

    6
    2
    6

说明/提示

样例输入输出 #1 说明

第一天,(a1,,a4)=(1,4,2,3)(a_1, \ldots, a_4) = (1, 4, 2, 3)(b1,,b4)=(3,2,1,4)(b_1, \ldots, b_4) = (3, 2, 1, 4)。你可以按如下方式,总共按 66 次“跳过”按钮,按顺序完整听到期望的歌:

  • 歌曲 11 播放。跳过。
  • 歌曲 44 播放。跳过。
  • 歌曲 22 播放。跳过。
  • 歌曲 33 播放。完整听完。
  • 歌曲 11 播放。跳过。
  • 歌曲 44 播放。跳过。
  • 歌曲 22 播放。完整听完。
  • 歌曲 33 播放。跳过。
  • 歌曲 11 播放。完整听完。
  • 歌曲 44 播放。完整听完。

第二天,(a1,,a4)=(1,4,3,2)(a_1, \ldots, a_4) = (1, 4, \mathbf{3}, \mathbf{2})(b1,,b4)=(3,2,1,4)(b_1, \ldots, b_4) = (3, 2, 1, 4)。最少按 22 次跳过即可。

第三天,(a1,,a4)=(1,4,3,2)(a_1, \ldots, a_4) = (1, 4, 3, 2)(b1,,b4)=(1,2,3,4)(b_1, \ldots, b_4) = (\mathbf{1}, 2, \mathbf{3}, 4)。最少按 66 次跳过。

首页