国旗计划「SCOI2015」

题意

给定一个圈以及若干区间,希望覆盖整个圈。对于每个区间,求出必须选这个区间前提下的区间最少选取数。保证区间之间没有包含关系。


思路

可以把我们要选的区间想象成一个链(就是那种一环套一环的锁链),那么我们在将这个链拉紧的时候肯定是利用率最高,即长度最大的。

回到题目,我们对区间左端点排序,然后每次寻找左端点在范围内的右端点最远的区间,这个过程可以通过倍增优化。

由于是一个链,所以我们需要倍长数组。

代码

调unsigned int心态崩了。

posted @ 2019-09-18 22:17  Ilverene  阅读(119)  评论(0编辑  收藏  举报