#HK5249. 「NOISG 2021 Final」Password

「NOISG 2021 Final」Password

题目描述

译自 NOISG 2021 Final T3. Password

神秘的怪盗卢平四世(通常简称为卢平)接受了一项艰巨任务:闯入世界上最大、最壮观、技术最先进的加利亚斯特罗城堡的保险库。城堡配备了最先进的科技,拥有顶级的安保系统,充分利用了人力与机器的能力。然而,面对如此挑战,卢平毫不畏惧。他巧妙地避开了城堡周围的卫兵和监控摄像头,突破了众多陷阱,解决了许多谜题,终于到达了保险库。在那里,他黑进了监控系统,显示出毫无破绽的画面,并用药物使所有卫兵失去意识。

他面临的最后障碍是一个电子密码系统,输入正确密码后即可打开保险库。初始时,屏幕上显示 NN00KK 之间的非负整数,第 ii 个为 AiA_i。密码也由 NN00KK 之间的非负整数组成。通过他卓越的智慧和敏捷的身手,卢平确定密码的第 ii 个数字为 PiP_i (1iN)(1 \leq i \leq N)。得知密码后,卢平欣喜若狂,准备完成任务。然而,令他沮丧的是,输入密码的方式非常奇特且耗时,涉及缓慢但稳定地更改屏幕上数字的操作。

假设当前屏幕上第 ii 个数字为 CiC_i (1iN)(1 \leq i \leq N)。当对于所有 1iN1 \leq i \leq NCi=PiC_i = P_i 时,卢平可以打开保险库。否则,卢平可以执行以下操作:选择两个整数 i,ji, j,满足 1ijN1 \leq i \leq j \leq N,对于所有 ilji \leq l \leq j 的整数 ll,将 ClC_l 更改为 Cl+1(modK+1)C_l + 1 \pmod{K+1}。换句话说,将 Cl+1C_l + 1 除以 K+1K+1 后的余数作为新的 ClC_l。具体来说,00 变为 1111 变为 22,……,K1K-1 变为 KKKK 变为 00

更糟糕的是,卢平还得知他的宿敌泽尼加达警探正赶来抓住他。为了尽快打开保险库并逃脱,卢平希望使用最少次数的操作将初始数字更改为密码,打开保险库。你的任务是确定卢平所需的最少操作次数。

输入格式

程序需从标准输入读取数据。

第一行包含两个整数 NNKK

第二行包含 NN 个整数 A1,A2,,ANA_1, A_2, \ldots, A_N,其中 AiA_i 是屏幕上初始显示的第 ii 个数字。

第三行包含 NN 个整数 P1,P2,,PNP_1, P_2, \ldots, P_N,其中 PiP_i 是密码的第 ii 个数字。

输出格式

程序需向标准输出输出结果。
输出一行,包含一个整数,表示卢平将屏幕上的数字更改为密码所需的最少操作次数。

3 4
1 2 0
2 1 2

4

最优操作序列是选择 (i,j)=(1,3)(i, j) = (1, 3) 一次,(2,3)(2, 3) 一次,(2,2)(2, 2) 两次。

这个样例满足子任务 1,4,5,6,71, 4, 5, 6, 7 的限制。

7 1
1 0 1 0 1 1 1
0 0 1 1 0 1 0

3

最优操作序列是选择 (i,j)=(1,3)(i, j) = (1, 3) 一次,(2,6)(2, 6) 一次,(6,7)(6, 7) 一次。

这个样例满足子任务 3,4,5,6,73, 4, 5, 6, 7 的限制。

7 9
1 5 3 4 8 3 2
7 4 8 3 2 3 1

18

这个样例满足子任务 4,5,6,74, 5, 6, 7 的限制。

数据范围与提示

对于所有输入数据,满足:

  • 1N3×1051 \leq N \leq 3 \times 10^5
  • 0K1090 \leq K \leq 10^9
  • 对于所有 1iN1 \leq i \leq N0Ai,PiK0 \leq A_i, P_i \leq K

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 66 N3N \leq 3
22 55 对于所有 1iN11 \leq i \leq N-1AiAi+1A_i \leq A_{i+1};对于所有 1iN1 \leq i \leq NPi=0P_i = 0
33 99 K1K \leq 1
44 1010 N,K80N, K \leq 80
55 1313 N400N \leq 400
66 2323 N3000N \leq 3000
77 3434 无附加限制