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 。

差分+递推

posted @ 2026-01-14 17:55  Zwi  阅读(0)  评论(0)    收藏  举报