国旗计划「SCOI2015」
题意
给定一个圈以及若干区间,希望覆盖整个圈。对于每个区间,求出必须选这个区间前提下的区间最少选取数。保证区间之间没有包含关系。
思路
可以把我们要选的区间想象成一个链(就是那种一环套一环的锁链),那么我们在将这个链拉紧的时候肯定是利用率最高,即长度最大的。
回到题目,我们对区间左端点排序,然后每次寻找左端点在范围内的右端点最远的区间,这个过程可以通过倍增优化。
由于是一个链,所以我们需要倍长数组。
代码
调unsigned int心态崩了。
给定一个圈以及若干区间,希望覆盖整个圈。对于每个区间,求出必须选这个区间前提下的区间最少选取数。保证区间之间没有包含关系。
可以把我们要选的区间想象成一个链(就是那种一环套一环的锁链),那么我们在将这个链拉紧的时候肯定是利用率最高,即长度最大的。
回到题目,我们对区间左端点排序,然后每次寻找左端点在范围内的右端点最远的区间,这个过程可以通过倍增优化。
由于是一个链,所以我们需要倍长数组。
调unsigned int心态崩了。