序列中的每个元素仅为1或2,拼接后重叠部分对应位置的数字相加不能超过3,因此不能同时为2。
由于数据较小,因此模拟即可。判断串s的一个后缀是否能够与t的前缀耦合,即判断这两部分是否同时出现了2。
因此时间复杂度为O(N2)
你有两个由数字 1 和 2 构成的序列。现在要将它们沿水平方向拼接在一起,允许两个序列彼此错位,即最终结果中可以有一段区域仅包含第一个序列、一段区域仅包含第二个序列,以及一段重叠区域。在重叠区域中,对应位置的数字相加后不能超过 3。拼接时不允许翻转任何一个序列的顺序(即保持各自原有的前后顺序)。所求目标是使拼接后的总长度尽可能短。
两个序列的长度 n 和 m 满足 1≤n,m≤1000。序列中的每个元素仅为 1 或 2。
第一行包含两个整数 n 和 m,分别表示两个序列的长度。
第二行包含一个长度为 n 的字符串,仅由字符 1 和 2 组成,描述第一个序列。
第三行包含一个长度为 m 的字符串,仅由字符 1 和 2 组成,描述第二个序列。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.