AcWing 算法基础课 贪心

一、区间问题

  1、区间选点、最大不相交区间数量

  先按右端点排序,遇到完全不相交的区间则更新当前点,并将区间数量+1.

  2、区间分组

  将区间分组使组内区间不相交,求分组的最小数量。

  左端点从小到大排序,从前往后处理每个区间,判断是否能放入当前的某个组中,

  如果能,则更新组的右端点,否则开新组。

  3、区间覆盖

  选择多个给定区间,将某一个区间覆盖,求最小选择区间数

  左端点从小到大排序

  从前往后枚举,每次选择覆盖end,且右端点最大的区间,并用右端点更新当前end

二、哈夫曼树

  AcWing 148.合并果子

  每次挑出最小的两堆进行合并

三、排序不等式

  AcWing 913.排队打水

  挑选时间最小的最先打水。 

四、绝对值不等式 

  AcWing 104. 货仓选址

  选择区间中的点,可以使到区间端点的距离和最小

五、推公式

  AcWing 125. 耍杂技的牛

  wi+si按从小到大排序,与国王游戏同解

posted @   80k  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示