一、区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖。 样例:一个长度为8的区间,可选的线段有[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5]。 求解过程 ...
一 区间完全覆盖问题 题目 给定一个长度为m的区间,再给出n条线段的起点和终点 注意这里是闭区间 ,求最少使用多少条线段可以将整个区间完全覆盖。 解析 先将所有线段按起点从小到大排序。排完序后,枚举每一个线段 被其它线段包含的线段不用考虑,因为很明显包含它的线段比它更优 ,将其作为最左端的线段, 再在剩下的左端点小于等于最左端的线段的右端点的线段中 若没有则无解 ,找到右端点最大的一个线段,即贪心 ...
2019-07-08 12:45 1 622 推荐指数:
一、区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖。 样例:一个长度为8的区间,可选的线段有[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5]。 求解过程 ...
贪心算法 思想:什么是贪心算法,什么算得上是贪心 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略 ...
题目内容: 设x1,x2,... ,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?设计求解此问题的有效算法。对于给定的实直线上的n个点和闭区间的长度k,编程计算覆盖点集的最少区间数。 输入格式: 输入数据的第一行有2个正整数n和k,表示有n ...
基于贪心算法的几类区间覆盖问题: (1)区间完全覆盖问题问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖样例:区间长度8,可选的覆盖线段[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5 ...
(1)区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖 样例:区间长度8,可选的覆盖线段[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5] 解题过程: 1. ...
题目描述 设x 1 , x 2,... , x n是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?设计解此问题的有效算法,并证明算法的正确性。 编程任务: 对于给定的实直线上的n个点和闭区间的长度k,编程计算覆盖 ...
什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质),但是效率比动态规划要高。 比如说一个算法问题使用暴力解法需要指数级时间,如果能使用动态规划消除重叠子问题,就可以降到多项式级别的时间,如果满足贪心选择性质,那么可以进一步降低 ...
一、线段覆盖 n个开区间(ai,bi),选择尽量多个区间,使得这些区间两两不相交 右端点排序(<)兼顾左端点(>),再从左到右遇到不相交的就选 二、区间选点 n个闭区间[ai,bi],选择尽量少的点,使得每个区间至少有一个点 右端点排序(<)兼顾左端 ...