#loj5034. 「POI2016 R2」口吃 Stutter
「POI2016 R2」口吃 Stutter
[AdditionalFile5034.zip](file://AdditionalFile5034.zip?type=additional_file)
#5034. 「POI2016 R2」口吃 Stutter
标签: 传统 | 时间限制: 10000 ms | 内存限制: 32 MiB |
题目描述
题目译自 XXIII Olimpiada Informatyczna — II etap Zająknięcia
Bitek 最近患上了一种怪病:他说话严重口吃,而且只会说出数字。他的哥哥 Bajtek 却发现,Bitek 的口吃模式似乎有规律可循。Bajtek 怀疑弟弟在装病,借此逃学,偷偷在家玩电脑游戏。这让 Bajtek 无法专心学习编程,感到十分沮丧。于是,他决定揭穿弟弟的把戏,希望借此赢得充足的编程时间。
让我们来正式描述 Bajtek 的猜想。假设有两个数字序列 和 ,分别表示 Bitek 的两次发言:
- 序列 的子序列是通过从 中删除任意元素后得到的序列。例如, 是 的子序列。
- 序列 的“口吃序列”是一个子序列,由连续的成对相同元素组成。例如, 是 的口吃序列。
给定 Bitek 的两次发言序列 和 ,请帮助 Bajtek 找出同时出现在两个序列中的最长口吃序列的长度。
输入格式
第一行包含两个整数 ,分别表示序列 和 的长度。
第二行包含 个整数 ,表示序列 的元素。
第三行包含 个整数 ,表示序列 的元素。
输出格式
输出一个非负整数,表示序列 和 的最长公共口吃序列的长度。若无公共口吃序列,输出 。
样例
输入
7 9
1 2 2 3 1 1 1
2 4 2 3 1 2 4 1 1
输出
4
最长公共口吃序列为 。
附加样例
- ,所有数字均为 。
- ,序列为
OLIMPIADA和INFORMATYCZNA的 ASCII 编码。 - ,序列 由成对递增数字组成(),序列 为 的逆序。
- ,两序列由 和 的成对交替组成()。
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务 | 附加限制 | 分值 |
|---|---|---|
| ,每个数字在序列中至多出现两次 | ||