解题思路
题目条件相当于是要找到一个 a 的最长子序列 a′,满足在 a′ 中,对于任意的三个连续的 a′[i],a′[i+1],a′[i+2],要满足 a′[i+1]∗2>a′[i]+a′[i+2] 成立。
这题暴力选会 TLE,考虑用 DP 来写,相比于递推版的 DP 来说,在这题中递归版的记忆化搜索写起来会方便一点。
定义 dfs(u, l, r)表示当前考虑到第 u 块符文石,并且在已经选择的符文石中,最后两块符文石分别是 l 和 r (没选记为 0 ),的最大选择数量,记为 res。
状态转移如下: