极值之和(二) 分治,然后推式子

题意:给定序列 \(a[i]\),求:

\[ANS=\sum_{1\le l\le r\le n}((r-l+1)\cdot \min_{j\in [l,r]}a[j] \cdot \max_{j\in [l,r]}a[j]) \]

对于区间 \([L,R]\) 中的答案,分治算出 \([L,mid],[mid+1,R]\) 的答案,然后只要计算 \(x\in [L,mid] , y\in [mid+1,R]\) 的答案即可。枚举左端点 \(x\),此时左边的 \(\min\)\(\max\) 都已经确定。我们考虑最终的 \(\min,\max\) 由谁掌控。于是右边区间会分成三段,从左到右分别满足 \(\min,\max\) 都由左边掌控,一个由左边掌控,和都由右边掌控。容易发现所有东西都可以用前缀和优化,维护一坨东西式子推清楚就行了。

为什么能想到分治呢?可能是因为贡献是区间的形式;也可能是因为式子里面是区间 \(\min,\max\) 的形式,所以合并的时候可以有一些性质。

posted @ 2026-02-01 16:29  zhanglinuo  阅读(0)  评论(0)    收藏  举报