网站建设的公司上海,国内做网站网站代理怎么样,注册公司后每年要交什么费用,学校网站集群建设参考的视频讲解#xff1a;↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 【贪心算法08-区间问题03-区间覆盖】 每次贪心就是选择左端点里面#xff1c;起始端点里面右边界最大的#xff0c;这样就是保证了最少区间个数! 然后每次迭代都会更新一次起始端点st#xff0c;反复运用本算法…参考的视频讲解↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 【贪心算法08-区间问题03-区间覆盖】 每次贪心就是选择左端点里面起始端点里面右边界最大的这样就是保证了最少区间个数! 然后每次迭代都会更新一次起始端点st反复运用本算法。 一定要仔细看视频讲解
#includeiostream
#includealgorithm
#define N 100010
#define INF 2e9
using namespace std;
int n ;
struct Range{int l, r;bool operator(const Range r1){return l r1.l;}
}range[N];
int main(){int st , ed;cin st ed;cin n;for(int i 0 ; i n ; i){int l , r ;cin l r;range[i] {l ,r};} sort(range,range n);int res 0 ;bool success false;for(int i 0 ; i n ; i){int j i ,r -2e9;while(j n range[j].l st){r max(r , range[j].r); j;}if(r st){res -1;//如果挑出来的最大右端点小于起始端点那么无解返回-1break;}res;if(r ed){//如果右边界已经可以超过末尾端点ed那么求解完毕返回ressuccess true;break;}st r;i j - 1;}if (!success) res -1;printf(%d\n, res);
}