题解不应该流露出太多感情,对吧。
建议评黄。
首先我们可以想到暴力 dp。
定义 \(dp_i\) 为以 \(a_i\) 为结尾满足题目意思的最长序列的长度。
很明显,时间复杂度为 \(O(n^2)\) 不可通过本题。
我们发现一个序列以 \(a_i\) 为结尾,那么上一位绝对是以 \(a_i-k\) 到 \(a_i+k\) 中的任意一个为结尾。所以 dp 转移可以变为以 \(a_i-k\) 到 \(a_i+k\) 中任意一个为结尾的序列长度的最大值。于是我们可以用线段树来维护。
所以这棵线段树只需要支持单点修,区间差 \(\max\) 即可。
很明显的 hash 题。
我写了双哈希。把 \(a_i\) 和 \(b_i\) 处理出来以后,我们直接用一个 map 来统计两个数相乘,然后计算答案即可。
标签:ABC339,code,结尾,线段,序列,dp From: https://www.cnblogs.com/Carousel/p/18005305