luogu#P16568. [ICPC 2026 APC] Worldwide Playlist
[ICPC 2026 APC] Worldwide Playlist
题目描述
你正在计划一次环游世界的旅行。为此,你在手机上安装了一个包含 首歌的音乐应用,歌曲编号为 到 。
应用最初会为这 首歌生成一个播放列表,以 的一个排列形式表示,记为 。这些歌曲会按照 的顺序播放: 首先播放,接着是 ,依此类推。播放列表是无限循环的:每当 播放完毕后,又会从 开始。
每当当前歌曲播放结束后,下一首歌会自动播放。在一首歌尚未结束前,你也可以按下“跳过”按钮立即跳至列表中下一首歌。
你希望按照 这个期望排列完整听完这 首歌。也就是说,你希望通过适当按“跳过”按钮的次数,使得你完整听到的第 首歌是 ,第 首是 ,……,第 首是 ,之后就停止听歌。
你共使用这个播放列表 天。在每两天之间,你会用三个整数 、 和 对排列进行一次更新:
- 如果 ,那么交换 和 ;
- 如果 ,那么交换 和 。
每次操作的效果会持续作用到之后的所有天数。
对于每一天,假设你从 开始听,请你计算最少需要按多少次“跳过”按钮,才能按顺序完整听到 这 首歌。
输入格式
第一行包含两个整数 和 (,)。
第二行包含 个整数,表示初始的 (, 且 )。
第三行包含 个整数,表示初始的 (, 且 )。
接下来的 行,每行包含三个整数 (,),表示第 天和第 天之间的更新操作。
输出格式
输出 行,每行一个整数,第 行表示第 天所需的最小按“跳过”按钮次数。
4 3
1 4 2 3
3 2 1 4
1 3 4
2 1 3
6
2
6
7 5
4 7 1 2 6 5 3
2 6 5 1 4 3 7
1 2 5
2 6 7
1 6 7
2 1 5
16
26
21
20
6
提示
样例输入输出 #1 说明
第一天,,。你可以按如下方式,总共按 次“跳过”按钮,按顺序完整听到期望的歌:
- 歌曲 播放。跳过。
- 歌曲 播放。跳过。
- 歌曲 播放。跳过。
- 歌曲 播放。完整听完。
- 歌曲 播放。跳过。
- 歌曲 播放。跳过。
- 歌曲 播放。完整听完。
- 歌曲 播放。跳过。
- 歌曲 播放。完整听完。
- 歌曲 播放。完整听完。
第二天,$(a_1, \ldots, a_4) = (1, 4, \mathbf{3}, \mathbf{2})$,。最少按 次跳过即可。
第三天,,$(b_1, \ldots, b_4) = (\mathbf{1}, 2, \mathbf{3}, 4)$。最少按 次跳过。
由 ChatGPT 5 翻译