代码里判断的时间复杂度是 $O(n^2)$ ,会超时.
可以用t来记录上一个可以参加的比赛,有两种情况:
* 比赛t的开始时间早于比赛i,结束时间晚于比赛i-将t设为i
* 比赛t的结束时间晚于比赛i的开始时间-不考虑i,继续循环
* 时间不重合(不满足以上两条)-t设为i
```cpp
if(start[i]>=start[t] && over[i]<=over[t]) t=i;//比赛t的时间“包住”了比赛i,选i肯定比选t好
else if(start[i]<over[t]) continue;//时间重合
else ans++,t=i;//不重合
//t就是上一个可以参加的比赛
```
by SamHJD @ 2022-08-24 12:14:44
@[SamHJD](/user/565684)
收到
# 谢谢大佬
by HC_Lin @ 2022-08-24 12:48:25