• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            pku3168 Barn Expansion 排序+區(qū)間重疊判斷

            MS好久不寫(xiě)blog了,現(xiàn)在好忙,又是GRE,又是考研,又是ACM。。蛋疼
            言歸正傳
            題意:
            給出一些長(zhǎng)方形,不重疊,但可以擦邊或擦角。問(wèn)有多少個(gè)長(zhǎng)方形是完全不和別的長(zhǎng)方形沾邊的

            給力條件:不重疊

            方法:經(jīng)典的排序+區(qū)間合并

            代碼:
             1 # include <cstdio>
             2 # include <cstring>
             3 # include <cstdlib>
             4 # define max(a,b) ((a)>(b)?(a):(b))
             5 using namespace std;
             6 struct line
             7 {
             8    int s,e,p,id;
             9 }tmp[60000];
            10 int cmp(const void *a,const void *b)
            11 {
            12     line *aa=(line *)a,*bb=(line *)b;
            13     if(aa->p!=bb->p) return aa->p-bb->p;
            14     else return aa->s-bb->s;
            15 }
            16 int data[30000][4],n;
            17 bool used[30000];
            18 void solve()
            19 {
            20     int end=tmp[0].e,last=0;
            21     for(int i=1;i<2*n;i++)
            22       if(tmp[i].p==tmp[i-1].p&&tmp[i].s<=end)
            23          end=max(end,tmp[i].e);
            24       else
            25       {
            26          if(last!=i-1)
            27           for(int j=last;j<i;j++)
            28             used[tmp[j].id]=false;
            29           end=tmp[i].e;
            30           last=i;
            31       }
            32      if(last!=2*n-1)
            33      for(int j=last;j<2*n;j++)
            34         used[tmp[j].id]=false;
            35 }
            36 int main()
            37 {
            38     scanf("%d",&n);
            39     memset(used,true,sizeof(used));
            40     for(int i=0;i<n;i++)
            41       scanf("%d%d%d%d",&data[i][0],&data[i][1],&data[i][2],&data[i][3]);
            42     for(int i=0;i<n;i++)
            43     {
            44        tmp[2*i].s=data[i][0];
            45        tmp[2*i].e=data[i][2];
            46        tmp[2*i].p=data[i][1];
            47        tmp[2*i].id=i;
            48        tmp[2*i+1]=tmp[2*i];
            49        tmp[2*i+1].p=data[i][3];
            50     }
            51     qsort(tmp,2*n,sizeof(line),cmp);
            52    /* printf("\n");
            53     for(int i=0;i<2*n;i++)
            54       printf("%d %d %d %d\n",tmp[i].id,tmp[i].p,tmp[i].s,tmp[i].e);
            55     printf("\n");*/
            56     solve();
            57     for(int i=0;i<n;i++)
            58     {
            59        tmp[2*i].s=data[i][1];
            60        tmp[2*i].e=data[i][3];
            61        tmp[2*i].p=data[i][0];
            62        tmp[2*i].id=i;
            63        tmp[2*i+1]=tmp[2*i];
            64        tmp[2*i+1].p=data[i][2];
            65     }
            66     qsort(tmp,2*n,sizeof(line),cmp);
            67    /* for(int i=0;i<2*n;i++)
            68       printf("%d %d %d %d\n",tmp[i].id,tmp[i].p,tmp[i].s,tmp[i].e);
            69     printf("\n");*/
            70     solve();
            71     int c=0;
            72     for(int i=0;i<n;i++)
            73       c+=used[i];
            74     printf("%d\n",c);
            75     //system("pause");
            76     return 0;
            77 }
            78 

            posted on 2011-03-02 02:10 yzhw 閱讀(248) 評(píng)論(0)  編輯 收藏 引用 所屬分類: data struct

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            統(tǒng)計(jì)系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            av午夜福利一片免费看久久| 久久久久久国产精品无码下载 | 久久e热在这里只有国产中文精品99 | 久久er国产精品免费观看8| 久久久久久国产a免费观看不卡| 国产精品无码久久综合网| 国内精品人妻无码久久久影院导航| 亚洲AV日韩精品久久久久久久| 久久精品无码一区二区三区| 欧美日韩成人精品久久久免费看 | 亚洲婷婷国产精品电影人久久| 色欲久久久天天天综合网精品| 91精品婷婷国产综合久久| 久久久久av无码免费网| 久久精品免费网站网| 精品久久久久久久无码 | 国产精品成人久久久久久久| 久久久国产99久久国产一| 国产精品福利一区二区久久| 精品多毛少妇人妻AV免费久久| 99久久精品国产一区二区三区| 国产成人精品综合久久久久 | 久久婷婷色综合一区二区| 99久久精品费精品国产| 99久久人妻无码精品系列蜜桃| 久久精品成人欧美大片| 久久精品无码一区二区三区日韩 | 四虎影视久久久免费观看| 精品免费tv久久久久久久| 无遮挡粉嫩小泬久久久久久久| 久久人人青草97香蕉| 无码任你躁久久久久久久| 久久精品国产一区二区三区不卡| 亚洲国产天堂久久综合网站| 久久国产精品-久久精品| 国内精品久久久久影院优| 国内精品久久久久影院日本| 久久偷看各类wc女厕嘘嘘| 久久99精品国产自在现线小黄鸭 | 久久精品中文字幕一区| 久久久久久无码国产精品中文字幕|