QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 16 MB Points totaux : 100

#17905. Chip Cards (16 MiB ML!)

Statistiques

强尼为智能卡(chipcards)设计芯片。在这种芯片的上边界和下边界上各有 $n$ 个引脚。上边界的引脚从左到右依次用连续的自然数 $1, 2, \dots, n$ 标记;下边界的引脚从左到右也用相同的数字标记,但顺序可能不同。标记有相同数字的一对引脚通过一条直线导线连接;这些导线被分组到不同的层中,且同一层中的导线不能相交。此外,两个边界上的引脚都被分组到插槽(sockets)中:每个插槽由连续的引脚组成,且每个引脚恰好属于一个插槽。注意,下边界上的插槽长度(所含引脚数量)可能与上边界上的插槽长度不同。最后,每个插槽都可以被翻转(switched),在这种情况下,该插槽内引脚的顺序将被反转。

强尼从小道消息得知自己即将被解雇。他决定进行一点报复——他打算设计下一个芯片,使其生产成本尽可能高。关键的生产成本是层数,因此他将以最大化所需层数的方式翻转每个插槽。事实证明,这比他平时的任务要困难得多,强尼正在寻求你的帮助。

输入格式

输入的第一行包含一个正整数 $n$ ($1 \le n \le 5\,000$),表示芯片每个边界上的引脚数量。

第二行包含 $n$ 个来自集合 $\{1, 2, \dots, n\}$ 的互不相同的正整数;这些是下边界上引脚的标记(提醒:上边界上连续引脚的标记依次为 $1, 2, \dots, n$)。

第三行包含一个正整数 $k$ ($1 \le k \le n$),表示上边界的插槽数量,接着是一个空格,然后是 $k$ 个数字,表示上边界各连续插槽的引脚数量。每个插槽至少包含一个引脚,上边界所有插槽的引脚数量之和等于 $n$。

第四行包含对下边界插槽的类似描述。

输出格式

输出一个正整数:所需层数的最大可能值。

样例

输入 1

8
3 5 1 2 8 4 7 6
3 3 1 4
4 2 2 2 2

输出 1

4

说明

在上边界,第一个插槽包含引脚 1, 2 和 3;第二个插槽包含引脚 4;第三个插槽包含引脚 5, 6, 7 和 8。通过翻转插槽,我们可以在上边界上获得以下引脚顺序:

  • (1, 2, 3) (4) (5, 6, 7, 8);
  • (1, 2, 3) (4) (8, 7, 6, 5);
  • (3, 2, 1) (4) (5, 6, 7, 8);
  • (3, 2, 1) (4) (8, 7, 6, 5).

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.