P3031 [USACO11NOV]Above the Median G 中位数
posted on 2023-02-23 05:51:58 | under 好题 | source
题目简介
本题洛谷就有↓
https://www.luogu.com.cn/problem/P3031
思路分析
前缀和+树状数组优化
差分+逆序对
首先让我们理解下中位数。
对于一段连续子串,我们不妨令大于等于 x 的数与小于 x 的数一一抵消,若最后剩下的数全部大于等于 x (当然也可以一个数都不剩),则这个子串的中位数必定大于等于 x 。
举个例子,$ x = 3 $ , 子串为 5、2、1、4 ,5 和 1 抵消,2 和 4 抵消。剩下 0 个数,因此它的中位数大于等于 x 。
让我们定义一个差分数组 $ a[i] $ 。若 $ h[i] $ 大于等于 $ x $,那么 $ a[i]=a[i-1]+1 $ ; 反之 $ a[i]=a[i-1]-1 $ 。
就拿样例为例,$ n=4 $ ,$ x=6 $ ,$ h $ 分别为 10 5 6 2 。

浙公网安备 33010602011771号