如果是与区间有关的题
一般加上 typedef pair<int,int>PII
就是将两个变量关联在一起,可以认为是结构体,不过只有两个变量,而且pair排序的时候,优先第一位,很多时候用pair就是图个方便.
本道题中,把不同区间用线段表示
#include<iostream> #include<algorithm> #include<vector> using namespace std; const int N=100000+100; pair<int,int> a[N]; int n,cnt; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i].first>>a[i].second; sort(a+1,a+1+n); cnt=n; for(int i=1;i<n;i++) if (a[i].second>=a[i+1].first) { cnt--;//相当于是反着求 a[i+1].first=a[i].first; a[i+1].second=max(a[i+1].second,a[i].second); } cout<<cnt; return 0; }
我们知道,函数有调用
容器也有调用
请看图片