主要思想是区间排序,首先从大到小对区间(要挖树的区间)的尾部进行排序,这时候如果区间有重叠的话,区间尾部就是最大的那个,我们只需要找到区间的开始即可。如果我们目前区间的开始比后面区间的尾部要大,这说明这两个区间不存在重叠,我们不需要考虑,但如果要大的话,说明上下两个区间重叠,则我们要找到头部小的那一个,类似于选择排序。 include<stdio.h> include<math.h> typedef struct road{ int begin; int end; int tree;}road;int max(int a,int b){ if(a>=b)retur...