各位牛友,一道笔试题求解
一个人要做订单,从0时间到1e9时间开始做,每个订单花费一个时间单位
有n个订单,每个订单有个超时时间D和价值P
1 <= n <= 1e5
1 <= D < 1e9
1 <= P < 1e9
求能得到的最大价值
#笔试##算法#
有n个订单,每个订单有个超时时间D和价值P
1 <= n <= 1e5
1 <= D < 1e9
1 <= P < 1e9
求能得到的最大价值
#笔试##算法#
全部评论
经典反悔贪心
按超时时间从小到大排序,然后按价值维护一个最小堆,扫描排序后的订单,如果堆里面还有空间(即还能放下当前订单)就直接扔进去,否则比较堆顶订单跟当前订单的价值,O(nlogn)。口胡的不一定对

https://www.cnblogs.com/RioTian/p/14513549.html
相关推荐
07-01 16:05
河南师范大学 Java douyin_loc...:看了大家很多简历,大部分都是技术栈加功能的罗列,缺少一些项目困难介绍和自身解决问题的思路和过程,显得千篇一律
点赞 评论 收藏
分享
07-13 10:24
广州南方学院 运营 
点赞 评论 收藏
分享