原链接
洛谷
Codeforces
题意简述
给定一个 n ( n < = 5000 ) n(n<=5000) n(n<=5000),以及 n n n个数 a 1 , a 2 , a 3 , ⋯ , a n ( a i < = 1 e 5 ) a_1,a_2,a_3,\cdots,a_n(a_i<=1e5) a1,a2,a3,⋯,an(ai<=1e5)定义一个 M e l o d y Melody Melody子序列(和"最长上升子序列"中的"子序列"定义一样,是指在原序列中相对顺序不变但是不一定连续的一段子序列)如下:
对于任意相邻的两个元素,一定满足这两个元素差为1或者两个元素除7同余。
请在原序列中找出两个无重复部分的 M e l o d y Melody Melody子序列并且选出的两个长度加起来最大。
(偷偷开心一下:这个盗的是洛谷上的翻译,它是我提供的)
数据
输入
第一行一个正整数 n n n
接下来一行有 n n n个正整数,顺序给出 a 1 , a 2 ⋯ a n a_1,a_2\cdots a_n a1,a2⋯an
输出
如题。最长的两段不重复 M e l o d y Melody