如果问题是在一个区间上的,那就成了一个经典的贪心问题
将所有区间按照右端点升序排序之后,每个未满足的区间尽可能向右染即可
在树上也可以贪心
将所有链按父节点深度降序排序之后,每条未满足的链尽可能往高处染
- 因为是按照父节点深度降序,如下图,在处理红链时不可能出现未处理的蓝链

- 对于每条未满足的链,显然染的越高能覆盖的就越多
1 |
|
如果问题是在一个区间上的,那就成了一个经典的贪心问题
将所有区间按照右端点升序排序之后,每个未满足的区间尽可能向右染即可
在树上也可以贪心
将所有链按父节点深度降序排序之后,每条未满足的链尽可能往高处染

1 | #include<cstdio> |