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$。