6 条题解

  • 3
    @ 2022-7-19 15:31:08
    using namespace std;
    struct p{
    	int l1;
    	int r1;
    }sh[1000000];
    bool cmp(p a,p b){
    	return a.r1<b.r1;
    }
    int main(){
    	int n;
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>sh[i].l1>>sh[i].r1;
    	}
    	sort(sh+1,sh+1+n,cmp);
    	//for(int i=1;i<=n;i++)cout<<sh[i].r1;
    	
    	int l=sh[1].l1;
    	int r=sh[1].r1;
    	int ans=1;
    	for(int i=2;i<=n;i++){
    		if(sh[i].l1<r){
    			continue;
    		}
    		else {
    			ans+=1;
    			l=sh[i].l1 ;
    			r=sh[i].r1;
    		}
    	}
    	cout<<ans;
    	return 0;
    }
    
    • @ 2022-7-19 15:48:37

      没考虑结束时间相等时,起始时间不同

    • @ 2022-7-19 15:56:21

      和原来一样,只是分开讨论了

      using namespace std;
      struct p{
      int l1;
      int r1;
      }sh[1000000];
      bool cmp(p a,p b){
      return a.r1<b.r1;
      }
      int main(){
      int n;
      cin>>n;
      for(int i=1;i<=n;i++){
      cin>>sh[i].l1>>sh[i].r1;
      }
      sort(sh+1,sh+1+n,cmp);
      int l=sh[1].l1;
      int r=sh[1].r1;
      int ans=1;
      for(int i=2;i<=n;i++){
      if(sh[i].l1<r){
      continue;
      }
      if(sh[i].l1==r){
      if(sh[i].r1>r){
      l=sh[i].l1 ;
      r=sh[i].r1;
      ans++;
      }
      }
      else {
      ans+=1;
      l=sh[i].l1 ;
      r=sh[i].r1;
      }
      }
      cout<<ans;
      return 0;
      }
      
      
      
    • @ 2022-7-19 15:56:51

      @ 其实差不多👀️

信息

ID
478
时间
1000ms
内存
512MiB
难度
6
标签
递交数
852
已通过
259
上传者