题面 luogu Codeforces 题目大意: 给一个长度为\(n\)的序列,求两个不相交的子集长度之和最大是多少,能放入同一子集的条件是首先顺序不能变,然后每一个相邻的要么相差\(1\)或者相差\(7\)的倍数. \(n<=5000\) 题解 \(dp:\) \(f[i][j]\)表示第一序列到了第\(i\)位,第二个序列到了第\(j\)位,符合条件的长度之和最大 显然, \(f[i][j] == f[j][i]\) 那么我们可以只考虑\(i<j\) 暴力转移是\(O(n^3)\) 显然…