其实预处理一下,先给数组排个序,记录着原先的下标,可以N^2logN实现的,枚举a[i],a[i-2],二分查找是否在a[i]和a[i - 2]之间存在a[i-1]。。。
dp[i]表示当前能达到的最长序列,状态转移方程:
dp[i] = max(dp[i], dp[j] + 2)当且仅当a[i] = a[j] + a[k], j < k < i,二分查找a[k]是否存在。