2019牛客多校第 1 场 I 题题解

登录—专业IT笔试面试备考平台_牛客网

https://ac.nowcoder.com/acm/contest/881/I

题目描述

给定 个二维平面上的点,每个点有权值

将点集划分为两个集合,满足任意 A 集合的点 和 B 集合点 ,要么 ,要么

A 集合的点使用权值 ,B 集合的点使用权值 ,求最大化权值和。

分析

题目即是用一个阶梯型的分段函数将点集划分为两块,A 集合在左上,B 集合在右下,边界上的点属于 B 集合。

从左至右扫描线,线段树维护分界线右端点纵坐标为 时的最大权值和

对于一个点 ,如果他作为分界线的转折点,肯定是从底线一条权值最大的分界线转移过来,即 (纵坐标由上至下排序,消除重复计算)。

对于高度大于 的分界线端点,他一定会取到点 ,即区间加上权值

对于高度小于 的分界线端点,他一定不会取到点 ,即区间权值加上

最后,答案为全局最大值。

全部评论
如何确保每一步最优结果也最优呀
点赞 回复 分享
发布于 2019-07-24 10:58

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务