P1047环锁解除circle

时间限制 1500 ms内存限制 512 MiB通过率 —
显示算法标签动态规划 · 树状数组 · 环形结构

【题目背景】

风眼的位置确定后,Ehundategh 驾船抵达风暴中心。紊乱的气流在海面上形成了一道环形空洞,通向核心的入口正悬在空洞中央。

入口外侧的环锁仍在不停旋转。锁面上的每个符号都与一处封锁结构相连,只有按照残存记录给出的顺序逐一解除,入口才会停止排斥靠近的船只。

【题目描述】

环锁上有 nn 个控制位,围成一个首尾相接的圆环。每个控制位最初刻有一个 1n1\sim n 的符号,并且每个符号恰好出现一次。

环锁始终指定其中一个位置为当前控制位。从当前控制位开始沿顺时针方向读到的符号依次构成排列 aa。另一份长度为 nn 的排列 bb 记录了符号的解除顺序,其中 b1b_1 表示下一次必须解除的符号。

你可以进行任意次下列操作:

  • 将排列 aa 循环左移一位。若操作前 a10a_1\neq 0,需要花费 xx
  • 将排列 aa 循环右移一位。若操作前 a10a_1\neq 0,需要花费 yy
  • 交换 x,yx,y,需要花费 zz
  • a1=b1a_1=b_1,将排列 bb 循环左移一位,同时令 a1=0a_1=0,不花费代价。

循环左移会将 a1,a2,,ana_1,a_2,\ldots,a_n 变为 a2,a3,,an,a1a_2,a_3,\ldots,a_n,a_1。循环右移会将其变为 an,a1,a2,,an1a_n,a_1,a_2,\ldots,a_{n-1}

旋转操作的代价由操作前的 a1a_1 决定。已经变为 00 的位置不会消失,仍会与其他位置一起旋转。交换 x,yx,y 后,之后的旋转操作按照交换后的数值计算,直到再次交换。

请你求出使排列 aa 中所有元素均变为 00 的最小代价。

【输入格式】

从文件 circle.in\textbf{\textit{circle.in}} 中读入数据。

本题包含多组测试数据。

输入的第一行包含两个非负整数 c,Tc,T,分别表示测试点编号与测试数据的组数。c=0c=0 表示该测试点为样例。

对于每组测试数据:

第一行包含四个正整数 n,x,y,zn,x,y,z

第二行包含 nn 个整数,表示排列 aa

第三行包含 nn 个整数,表示排列 bb

【输出格式】

输出到文件 circle.out\textbf{\textit{circle.out}} 中。

对于每组测试数据输出一行一个整数,表示解除环锁所需的最小代价。

【样例 1 输入】

0 43 1 2 51 2 31 2 33 1 2 51 2 33 2 14 3 5 22 4 1 34 1 3 25 2 7 44 1 5 2 32 5 1 4 3

【样例 1 输出】

0236

【说明/提示】

【样例 1 解释】

第一组测试数据中,初始时可以免费解除符号 11。此后每次循环左移前,当前控制位都已经被解除,因此剩余符号也可以依次免费解除,答案为 00

【样例 2】

见选手目录下的 circle/circle2.in\textbf{\textit{circle/circle2.in}}circle/circle2.ans\textbf{\textit{circle/circle2.ans}}

该组样例符合测试点 151\sim 5 的数据范围。

【样例 3】

见选手目录下的 circle/circle3.in\textbf{\textit{circle/circle3.in}}circle/circle3.ans\textbf{\textit{circle/circle3.ans}}

该组样例符合测试点 6106\sim 10 的数据范围。

【样例 4】

见选手目录下的 circle/circle4.in\textbf{\textit{circle/circle4.in}}circle/circle4.ans\textbf{\textit{circle/circle4.ans}}

该组样例符合测试点 111911\sim 19 的数据范围。

【样例 5】

见选手目录下的 circle/circle5.in\textbf{\textit{circle/circle5.in}}circle/circle5.ans\textbf{\textit{circle/circle5.ans}}

该组样例符合测试点 202520\sim 25 的数据范围。

【数据范围】

对于 100%100\% 的数据,保证 1T201\leq T\leq 201n1061\leq n\leq 10^6,单个测试点内 n106\sum n\leq 10^6,排列 a,ba,b 均由 1n1\sim n 恰好各出现一次构成,1x,y,z1061\leq x,y,z\leq 10^6

测试点编号nn特殊性质
151\sim 510\leq 10
6106\sim 10106\leq 10^6
111911\sim 19103\leq 10^3
202520\sim 25106\leq 10^6

特殊性质:保证 x=y=zx=y=z

【题解】

已公开 1 篇题解,官方题解会优先显示。

查看题解