ZJNU 1426 YNingC的困惑(离散化)

来源:互联网 发布:浙江省noip知乎 编辑:程序博客网 时间:2024/06/06 06:43

题目链接:

http://acm.zjnu.edu.cn/CLanguage/showproblem?problem_id=1426

思路:简单的涂色问题。主要要用到离散化。

代码:

#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int max(int a,int b){    return a>b?a:b;}int a[2000005],d[1000005],f[1000005];struct node{  int x,y;}p[1000005];int main(){    int n,i,j,k;    scanf("%d",&n);    k=1;    for(i=1;i<=n;i++)        {            scanf("%d%d",&p[i].x,&p[i].y);            a[k]=p[i].x;            k++;            a[k]=p[i].y;            k++;}    k--;     sort(a+1,a+1+k);     int siz=unique(a+1,a+k+1)-a-1;     for(i=1;i<=n;i++)     {         int x,y;         x=lower_bound(a+1,a+siz+1,p[i].x)-a-1;         y=lower_bound(a+1,a+1+siz,p[i].y)-a-1;         d[x]++;         d[y+1]--;     }     f[0]=d[0];     int maxi=0;     for(i=1;i<=siz;i++)        {f[i]=f[i-1]+d[i];           maxi=max(maxi,f[i]);}printf("%d\n",maxi);}


0 0
原创粉丝点击