TLE求救

P1803 凌乱的yyy / 线段覆盖

@[进击的冰糖](/user/301765) 献上蒟蒻代码 ``` #include<cstdio> #include<algorithm> using namespace std; const int N = 100010; int n,t = 1,ans = 0; struct fuck{int st;int en;int c;} a[N]; bool cao(fuck a,fuck b) {return a.st < b.st;} int main() { scanf("%d",&n); for(int i = 1;i <= n;i++) {scanf("%d%d",&a[i].st,&a[i].en);a[i].c = 1;} sort(a + 1,a + n + 1,cao); for(int i = 2;i <= n;i++) { if(a[i].st < a[t].en) { if(a[i].en < a[t].en) { a[t].c = 0; t = i; } else a[i].c = 0; } else t = i; } for(int i = 1;i <= n;i++) ans += a[i].c; printf("%d",ans); return 0; } ```
by AlbrecRoon @ 2021-10-19 18:15:19


没必要再多出一个桶去记录,直接开一个变量now记录当前时间,初始化为0,然后扫一遍你的oi数组,如果oi[i].a>=now那么ans++,将now更新为oi[i].b
by OldVagrant @ 2021-10-19 18:17:16


@[进击的冰糖](/user/301765)
by OldVagrant @ 2021-10-19 18:17:26


@[初二DB07赵泽裕](/user/438168) 十分感谢指点,[AC](https://www.luogu.com.cn/record/60408346)了
by ASOUL_Official @ 2021-10-20 17:17:30


|