3 条题解

  • 4
    @ 2025-12-6 18:12:25
    #include<bits/stdc++.h>
    using namespace std;
    const int SB=1e6+10; 
    struct line{
    	int a,b;
    }a[SB];
    bool cmp(line x,line y){
    	return x.b<y.b;
    }
    int n,k=1,e;
    int main(){
    	system("color 2");
    	cin>>n;
    	for(int i=1;i<=n;i++)cin>>a[i].a>>a[i].b;
    	sort(a+1,a+n+1,cmp);
    	e=a[1].b;
    	for(int i=2;i<=n;i++){
    		if(e<=a[i].a){
    			k++;
    			e=a[i].b;
    		}
    	}
    	cout<<k;
    	return 0;
    }
    
    
    • 1
      @ 2025-12-6 18:21:40

      已AC

      #include<bits/stdc++.h>
      using namespace std;
      const int N=1e6+10;
      const int INF=0x3f3f3f3f;
      struct xd{
          int a,b;
      }a[N];
      int n,ans=1,last;
      int cmp(xd a1,xd a2){
          return a1.b<a2.b;  
      }
      int main(){
          cin>>n;
      	for(int i=1;i<=n;i++){
      		cin>>a[i].a>>a[i].b;
      	}
      	sort(a+1,a+n+1,cmp);
      	last=a[1].b;
      	for(int i=2;i<=n;i++){
              if(a[i].a>=last){
      			ans++;
      			last=a[i].b;
      		}
      	}
      	cout<<ans;
      	return 0;
      }
      
      • 1
        @ 2023-4-16 22:12:27

        骗分过样例,暴力出奇迹。

        爆搜挂着机,打表出省一。

        贪心题目

        #include <bits/stdc++.h>
        using namespace std;
        const int N=1000001;
        struct node{
        	int begin,end;
        }a[N];
        bool cmp(node x,node y){
        	return x.end<y.end;
        }
        int n,ans,last;
        int main(){
        	scanf("%d",&n);
        	for(int i=1;i<=n;i++){
        		scanf("%d%d",&a[i].begin,&a[i].end);
        	}
        	sort(a+1,a+n+1,cmp);
        	for(int i = 1; i <= n; i ++ ){
        		if(a[i].begin>=last){
        			++ans;
        			last=a[i].end;			
        		}
        	}
        	printf("%d",ans); 
        	return 0;
        }
        
        • 1

        信息

        ID
        354
        时间
        1000ms
        内存
        512MiB
        难度
        8
        标签
        递交数
        250
        已通过
        43
        上传者