当前位置: 代码迷 >> 综合 >> 2019多校第六场 HDU6638 Snowy Smile(区间最大子段和)
  详细解决方案

2019多校第六场 HDU6638 Snowy Smile(区间最大子段和)

热度:37   发布时间:2023-12-09 20:15:07.0

链接:HDU6638 Snowy Smile

题意:

给出平面直角坐标系上 n ( ≤ 2000 ) n(\le 2000) n(2000)个点 ( x i , y i ) (x_i,y_i) (xi?,yi?),每个点都有一个权值 w i    ( ? 1 0 9 ≤ x i , y i , w i ≤ 1 0 9 ) w_i\;(-10^9\le x_i,y_i,w_i\le10^9) wi?(?109xi?,yi?,wi?109),选取一个矩形(矩形边分别平行于 x , y x,y x,y轴),使得矩形内及边上所有点的权值之和最大,问最大的权值之和为多少?(允许矩形内及边上不包括任何点)



分析:

因为 n n n的最大只有 2000 2000 2000,所以可以暴力线扫描,先把点全部按 y y y从小到大排序;

我们可以枚举矩形下边界,即 y : y m i n → y m a x y:y_{min}\rarr y_{max} y:ymin?y