ZJNU 1426 - YNingC的困惑

注意到N最大只有1e6,但是xy最大有2e8,直接模拟2e8会超时

所以可以将1e6个区间离散化后模拟,模拟时的最坏情况为2e6满足题意

 1 /*
 2 Written By StelaYuri
 3 */
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7 int x[1000010],y[1000010],a[2000010],b[2000010];
 8 int main()
 9 {
10     ios::sync_with_stdio(0);cin.tie(0);
11     int n,i,j,m,ans=0;
12     cin>>n;
13     for(i=1;i<=n;i++)
14     {
15         cin>>x[i]>>y[i];
16         a[i*2-1]=x[i];
17         a[i*2]=y[i];
18     }
19     sort(a+1,a+1+n*2);
20     m=unique(a+1,a+1+n*2)-a-1;
21     for(i=1;i<=n;i++)
22     {
23         b[lower_bound(a+1,a+1+m,x[i])-a]++;
24         b[lower_bound(a+1,a+1+m,y[i])-a+1]--;
25     }
26     b[0]=0;
27     for(i=1;i<=m;i++)
28     {
29         b[i]+=b[i-1];
30         ans=max(ans,b[i]);
31     }
32     cout<<ans;
33     
34     return 0;
35 }

猜你喜欢

转载自www.cnblogs.com/stelayuri/p/12235274.html