1 条题解

  • 1
    @ 2025-7-3 15:22:04

    #include<bits/stdc++.h> using namespace std; struct hd { int bg,ed; }a[10010]; void kp(int l,int r) { if(l>=r)return; int mid=a[(l+r)/2].ed,i=l-1,j=r+1; while(i<j) { do i++;while(a[i].ed<mid); do j--;while(a[j].ed>mid); if(i<j) { hd t=a[j];a[j]=a[i];a[i]=t; } } kp(l,j); kp(j+1,r); } int main() { int n,ans=1,last=1; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].bg>>a[i].ed; } kp(1,n); for(int i=2;i<=n;i++) { if(a[i].bg>a[last].ed) { ans++; last=i; } } cout<<ans; return 0; }

    • 1

    信息

    ID
    103
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    71
    已通过
    23
    上传者