
贪心算法
青衫客36
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Acwing-4656. 技能升级
【代码】Acwing-4656. 技能升级。原创 2023-01-14 12:32:58 · 159 阅读 · 0 评论 -
Acwing-4655. 重新排序
统计求和次数时注意到只有修改操作而没有查询操作,于是可以用差分来维护。具体地,我们建立一个都为0的差分数组b,当 l∼r 这段区间被求和时,就将 b[l] 加上1,b[r+1]减去1就可以了。我们可以先统计原来的求和的总和 sum,再给 A 数组和统计求和次数的数组 c 从小到大排好序,最后依次相乘起来即 ∑(i=1~n) a[i]*c[i]减去原来的总和 sum 便是答案。我们可以累计每个 A[i] 的被求和次数 c[i]。容易贪心得到,被求和次数越多的肯定得放越大的数。时间复杂度:O(nlogn)原创 2023-01-10 19:02:22 · 115 阅读 · 0 评论 -
Acwing-104. 货仓选址
|a - x| + |b - x| >= |b - a|,当且仅当a原创 2022-10-26 18:43:49 · 180 阅读 · 0 评论 -
Acwing 896. 最长上升子序列 II
总体使得栈中的元素单调递增排列。原创 2022-09-23 11:07:59 · 135 阅读 · 0 评论 -
Acwing 148.合并果子
【代码】Acwing 148.合并果子。原创 2022-09-19 20:56:29 · 124 阅读 · 0 评论 -
Acwing 907. 区间覆盖
2、从前往后依次枚举每个区间,在所有能覆盖start的区间中,选择最右端点最大的区间,然后将start更新成右端点的最大值。1、将所有区间按照左端点从小到大排序。原创 2022-09-19 20:54:36 · 150 阅读 · 0 评论 -
Acwing 906. 区间分组
(2)如果存在这样的组,将其放进去,并更新当前组的Max_r。判断能否将其放到某个现有的组中 L[i] > Max_r。(1)如果不存在这样的组,则开新组,然后将其放进去;1、将所有区间按照左端点从小到大排序。2、从前往后处理每个区间。原创 2022-09-19 20:50:38 · 186 阅读 · 0 评论 -
Acwing 908. 最大不相交区间数量
【代码】Acwing 908. 最大不相交区间数量。原创 2022-09-19 20:45:14 · 90 阅读 · 0 评论 -
Acwing 905. 区间选点
如果当前区间中已经包含点,则直接pass。2、从前往后依次枚举每个区间。否则,选择当前区间的右端点。1、将每个区间按照右端点从小到大排序。原创 2022-09-19 20:42:49 · 260 阅读 · 0 评论