区间贪心 一、区间不相交问题 问题描述:给出N个开区间(x,y),要求从这些开区间中选择尽可能多的开区间,使得这些开区间两两之间没有交集 例如:对于(1,3)、(2,4)、(3,5)、(6,7)来说,可以选出最多的三个区间(1,3)、(3,5)、(6,7) 这就是区间选择问题,所以在求解时,应该尽可 ...
分类:
编程语言 时间:
2021-06-02 18:06:20
阅读次数:
0
这道题是一个典型的区间选点问题。每一个房子代表一个要求,这个要求对应着一个左端点和右端点,以及一个要求的树数。它就相当于是给定一个区间,在这个区间内插入要求的点数。求的种数的最小数量即为总点数。 这样我们就可以将这个问题转化为一个区间选点问题并得出基本思路。 基本思路:种树要种得少,就要尽量让一棵树 ...
分类:
其他好文 时间:
2020-07-11 17:29:00
阅读次数:
53
区间选点问题: 给定n个v闭区间[ai,bi],在数轴上选尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。 【思路点拨】 首先按照区间的结束位置从大到小排序。然后从区间1到区间n进行选择:对于当前区间,若集合中的数不能覆盖它,则将区间末位的数加入集合(对于每个集合取最后一个 ...
分类:
其他好文 时间:
2020-07-11 13:15:24
阅读次数:
54
贪心是一种解决问题的策略。 背包相关问题 最优装载问题:给出n个物体,第i个物体重量为wi.选择最多的物体,使得总重量不超过C。 每次都选择装最轻的,这是一种典型的贪心算法,它只顾眼前,却能得到最优解。 部分背包问题:有n个物体,第i个物体的重量为wi,价值为vi.在总重量不超过C的情况下让总价值尽 ...
分类:
其他好文 时间:
2020-03-25 23:13:23
阅读次数:
75
# 题意N个闭区间,请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 # 题解1.将每个区间按照右端点从小到大排序2.从前往后依次枚举每个区间如果当前区间已经包含点,直接pass否则选择当前区间的右端点 1 #include <bits/stdc++.h> 2 #define PII ...
分类:
其他好文 时间:
2020-03-22 01:28:31
阅读次数:
68
一、贪心引入: 最少硬币 有1、2、5、10、20、50、100七种面值的硬币,要支付指定的金额,问怎么支付所用的硬币个数最少。 这是一个非常日常化的问题,马上我们会想到,尽可能先用大面值的硬币,就能使支付的硬币尽可能少。这就是“贪心选择”。 二、贪心——线段覆盖 题目 描述 学校的小礼堂每天都会有 ...
分类:
其他好文 时间:
2019-11-02 00:35:39
阅读次数:
96
介绍几种贪心题型 1.选择不相交区间: 按照结束时间从大到小排序,如果区间左端点大于当前最右点就选,否则不选。 例题:活动安排: 2.区间选点问题: 按照区间的结束位置从大到小排序。对于当前区间如果选的点不够,就尽量在区间末尾选点。 例题:种树 3.区间覆盖问题: 将闭区间按照左端点从小到大排序。对 ...
分类:
其他好文 时间:
2019-10-12 20:30:57
阅读次数:
154
为啥把这两个问题放在一起?因为这两个问题可以用同样的程序来实现!! 请注意刘汝佳算法竞赛入门经典在进行区间选点问题的讨论时,有一句话没有任何意义:b相同时a从大到小排序 因为排不排结果没有任何区别 程序实现的思路是把所有的边按照右端点从小到大排序 设置一个tmp初值为极小值,然后考虑每一条边,每次都 ...
分类:
其他好文 时间:
2018-07-06 13:08:38
阅读次数:
125
关于区间的贪心问题 选择不相交区间 数轴上有n个开区间,选择尽量多个区间,使得这些区间两两没有公共点。 首先,若有两个区间x和y,区间x完全包含y,那么肯定不用选择x,因为选择y冲突更少,却和x的价值相同。 接下来,按照右端点从小到大给区间排序。有两个贪心策略:第一个是——一定要选择第一个区间,这是 ...
分类:
其他好文 时间:
2018-03-03 16:55:17
阅读次数:
119
uva 1615 高速公路(贪心,区间问题) 给定平面上n个点和一个值D,要求在x轴上选出尽量少的点,使得对于给定的每个点,都有一个选出的点离它的欧几里得距离不超过D。(n include include include using namespace std; const int maxn=1e5 ...
分类:
其他好文 时间:
2018-03-03 14:04:13
阅读次数:
152