题意:
给出平面直角坐标系上 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(−109≤xi,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→ymax;
每次枚举固定了下边界 y 0 y_0 y

该博客介绍了如何解决一个数学问题,即在平面直角坐标系中,给定n个点及其权值,找到一个矩形以最大化矩形内和边上的点权值之和。博主提出了一种暴力线扫描的解决方案,首先对点按y坐标排序,然后枚举矩形的下边界,使用线段树维护区间最大子段和,最终得到的时间复杂度为O(n²logn)。
&spm=1001.2101.3001.5002&articleId=98845871&d=1&t=3&u=828e549e9b8045749a341678f48daa37)
287

被折叠的 条评论
为什么被折叠?



