CF1635F 做题记录

CF1635F 做题记录

题目链接来源

考虑对整个序列做询问的情况。

枚举 \(i\) 再枚举 \(j\) 进行更新显然超时。

发现一些又远又大的点也被枚举到,考虑缩小每次 \(i\) 所枚举的点。

发现若存在 \(i \le j < k\)\(w_j < w_k\)\((i,j)\) 必然优于 \((i,k)\)

据此,考虑钦定每个点 \(i\) 只去匹配左右两边 \(w\) 比自己小的点(减少点数量)。

先以位置差为优先。令 \(L_i\) 表示左边最近的 \(\le w_i\) 的位置。考虑反例,若存在 \(j < L_i\)\(w_j < w_{L_i}\),会不会更好?其实不会,因为显然 \((j, L_i)\)\((j, i)\),就算这种情况没统计到也完全没关系。(某种意义上也算错解不优?)

右边也类似。因此每个 \(i\) 有效点就只有 \((L_i,i)\)\((i,R_i)\)。考虑询问,遂离线二维数点,搞定。

posted @ 2025-07-12 19:28  邻补角-SSA  阅读(9)  评论(0)    收藏  举报