Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何优化与范围的匹配(家庭作业)_C++_Algorithm - Fatal编程技术网

C++ 如何优化与范围的匹配(家庭作业)

C++ 如何优化与范围的匹配(家庭作业),c++,algorithm,C++,Algorithm,我正在学习一年级的编程课程,这是一个作业问题,所以我希望能得到一些提示,但不是答案 问题是,给定一些有序元素的列表,如何将它们划分到给定的有序范围中,从而划分出最大数量的元素?(范围和元素的数量不一定相等) 给出了以下示例输入: Elements: 2, 6, 7, 8, 9 Ranges: 0-3, 2-5, 3-9, 8-10 这个的输出是3,因为2将插槽插入2-5(或0-3),6/7将插槽插入4-9,9将插槽插入8-13 到目前为止,我尝试的是一种贪婪的方法。这似乎是失败的,因为在很多情

我正在学习一年级的编程课程,这是一个作业问题,所以我希望能得到一些提示,但不是答案

问题是,给定一些有序元素的列表,如何将它们划分到给定的有序范围中,从而划分出最大数量的元素?(范围和元素的数量不一定相等)

给出了以下示例输入:

Elements: 2, 6, 7, 8, 9
Ranges: 0-3, 2-5, 3-9, 8-10
这个的输出是3,因为2将插槽插入2-5(或0-3),6/7将插槽插入4-9,9将插槽插入8-13

到目前为止,我尝试的是一种贪婪的方法。这似乎是失败的,因为在很多情况下它都不起作用,例如:

Elements: 2, 5
Ranges: 0-7, 2-3
先将元件槽2加工成0-7,然后5无处可去(检查后很明显,最大值为2)。 我不太清楚该怎么做-请给我一两个提示

您可以使用来解决此问题

编辑: 也可以按第二个值按升序对范围进行排序

示例: 范围:0-7,2-3将是2-3,0-7


然后你可以使用贪婪方法。

对于第一个示例,答案应该是2,因为你可以使用2-5,3-9,因为所有的数字都可以在这两个范围内划分。我说的对吗?还有一些拼写错误,在你的解释中,你使用了示例中没有的范围。