P11004 [蓝桥杯 2024 省 Python B] 魔法巡游

题目背景

本题题意存在很大歧义。以下为洛谷与蓝桥杯官网数据对比: - 洛谷:仅要求存在数字 $0,2,4$ 即可共鸣; - 蓝桥杯官网:需要两个数字存在一对的 $0,2,4$ 才能共鸣; 由于题面存在歧义,本题数据仅供参考。

题目描述

在蓝桥王国中,两位魔法使者,小蓝与小桥,肩负着维护时空秩序的使命。他们每人分别持有 $N$ 个符文石,这些石头被赋予了强大的力量,每一块上都刻 有一个介于 $1$ 到 $10^9$ 之间的数字符号。小蓝的符文石集合标记为 $s_1, s_2, \cdots , s_N$,小桥的则为 $t_1, t_2, \cdots , t_N$。 两位魔法使者的任务是通过使用符文石,在各个时空结点间巡游。每次巡游遵循这样一条法则:当小蓝使用了符文石 $s_i$ 到达新的结点后,小桥必须选用一个序号更大的符文石(即某个 $t_j$ 满足 $j > i$)前往下一个结点。同理,小桥抵达之后,小蓝需要选择一个序号 $k > j$ 的符文石 $s_k$ 继续他们的巡游。 为了成功地穿梭时空,两个连续使用的符文石上的数字符号必须有共鸣,这种共鸣只有当数字符号中至少包含一个特定的元素——星火(数字 $0$)、水波(数字 $2$)或者风语(数字 $4$)时,才会发生。例如,符号序列 $126, 552, 24, 4$ 中的每对连续符文都包含了至少一个共鸣元素,则它们是一系列成功的巡游;而如果是 $15, 51, 5$,则不成立,因为它们之间的共鸣元素不包含星火、水波或风语 中的任意一个。 小蓝总是先启程,使用他的符文石开启巡游。 你的任务是计算这对魔法使者能够执行的最长时空巡游序列的长度。这样 的序列形式为 $s_{i_1}, t_{i_2}, s_{i_3}, t_{i_4}, \cdots$,其中序列索引满足 $i_1 < i_2 < i_3 < i_4 < \cdots$,并且序列中每一对相邻的符文石都至少包含一个共鸣元素。

输入格式

输入的第一行包含一个整数 $N$,表示每位魔法使者持有的符文石数量。 第二行包含 $N$ 个整数 $s_1, s_2, \cdots , s_N$,相邻整数之间使用一个空格分隔,表示小蓝的符文石上刻有的数字符号。 第三行包含 $N$ 个整数 $t_1, t_2, \cdots , t_N$ ,相邻整数之间使用一个空格分隔,表示小桥的符文石上刻有的数字符号。

输出格式

输出一行包含一个整数,表示小蓝和小桥在遵守所有规则的情况下,最多能进行多少次时空巡游。

说明/提示

对于 $30\%$ 的评测用例,$1 \le N \le 10^3,1 \le s_i , t_i \le 10^5$。 对于所有评测用例,$1 \le N \le 10^5,1 ≤ s_i , t_i \le 10^9$。 #### 样例解释 这里,数字 $2$ 作为共鸣元素连接了 $s_1$ 和 $t_3$、$s_4$ 和 $t_5$,数字 $2$、$4$ 作为共鸣元素 连接了 $t_3$ 和 $s_4$。