AcWing 算法基础课 贪心
一、区间问题
1、区间选点、最大不相交区间数量
先按右端点排序,遇到完全不相交的区间则更新当前点,并将区间数量+1.
2、区间分组
将区间分组使组内区间不相交,求分组的最小数量。
左端点从小到大排序,从前往后处理每个区间,判断是否能放入当前的某个组中,
如果能,则更新组的右端点,否则开新组。
3、区间覆盖
选择多个给定区间,将某一个区间覆盖,求最小选择区间数
左端点从小到大排序
从前往后枚举,每次选择覆盖end,且右端点最大的区间,并用右端点更新当前end
二、哈夫曼树
AcWing 148.合并果子
每次挑出最小的两堆进行合并
三、排序不等式
AcWing 913.排队打水
挑选时间最小的最先打水。
四、绝对值不等式
AcWing 104. 货仓选址
选择区间中的点,可以使到区间端点的距离和最小
五、推公式
AcWing 125. 耍杂技的牛
wi+si按从小到大排序,与国王游戏同解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人