青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Why so serious? --[NKU]schindlerlee

2010年02月13日星期六.sgu174 并查集+二叉搜索樹

2010年02月13日星期六.sgu174
sgu174:并查集+二叉搜索樹
說說題意吧。就是每次給出兩個點,這兩個點代表一條線段,如果這一條線段能和已經存在的線
段構成一個封閉多邊形,那么就輸出這是第幾條線段。

很自然的能想到并查集,所差的就是為每一個點賦予一個唯一的編號。
如果線性的查找已經處理過的點,那么就每次查詢的復雜度就是O(n).
而有n個這樣的查詢。當n如此大的時候,n^2的算法顯然會超時。

我們需要提高每次查詢的復雜度。
其實很容易就能想到二叉搜索樹。不想寫的話可以直接使用stl中的map,map是紅黑樹的實現,如
果不怕常數復雜度的話,這是一個很好的想法。

還有就是并查集,并查集需要加上路徑壓縮,不然很容易超時。

 1 
 2 const int N = 400010;
 3 struct point_t {
 4     int x,y;
 5     point_t(){}
 6     point_t(int a,int b){x = a,y = b;}
 7 }a,b;一bool operator < (point_t a,point_t b)
 8 {
 9   if (a.x != b.x) {
10       return a.x < b.x;
11   }
12   return a.y < b.y;
13 }
14 map<point_t,int> g;
15 int n, p[N],rank[N];
16 
17 int findset(int x)
18 {
19   if (p[x] != x) {
20       p[x] = findset(p[x]);
21   }
22   return p[x];
23 }
24 //http://m.shnenglu.com/schindlerlee
25 bool unionset(int x,int y)
26 {
27   x = findset(x);
28   y = findset(y);
29   if (x == y) { return true; }
30   if (rank[x] > rank[y]) {
31       p[y] = x;
32   } else if (rank[x] < rank[y]) {
33       p[x] = y;
34   } else if (rank[x] == rank[y]) {
35       p[x] = y;
36       rank[y]++;
37   }
38   return false;
39 }
40 
41 int main()
42 {
43   int i,ia,ib;
44   scanf("%d",&n);
45   for (i = 0;i < N;i++) { p[i] = i; }
46   for (i = 1;i <= n;i++) {
47       scanf("%d%d%d%d",&a.x,&a.y,&b.x,&b.y);
48       if ((ia = g[a]) == 0) { ia = g[a] = i << 1; } //from 1
49       if ((ib = g[b]) == 0) { ib = g[b] = (i << 1+ 1; }
50       if (unionset(ia,ib)) {
51           printf("%d\n",i);
52           break;
53       }
54   }
55   if (i > n) {
56       printf("0\n");
57   }
58   return 0;
59 }
60 


posted on 2010-02-14 00:38 schindlerlee 閱讀(1580) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美三级欧美一级| 欧美午夜影院| 国产麻豆91精品| 久久美女性网| 夜夜嗨av一区二区三区免费区| 欧美激情精品久久久六区热门 | 欧美高清视频一区二区| 揄拍成人国产精品视频| 亚洲激情视频网| 欧美日韩精品一本二本三本| 亚洲欧美日韩精品久久奇米色影视| 午夜精品久久久久久久久久久| 国内自拍一区| 亚洲精品欧美日韩专区| 国产精品久久久久毛片软件| 免费观看成人网| 欧美调教视频| 亚洲国产精品久久久久| 国产精品国产自产拍高清av王其| 久久久久久久久久久久久久一区| 久久久亚洲午夜电影| 亚洲欧美成人网| 男男成人高潮片免费网站| 久久xxxx| 国产一区二区成人| 午夜电影亚洲| 欧美一区二区三区四区在线观看 | 午夜精品国产| 欧美绝品在线观看成人午夜影视| 欧美成人午夜激情视频| 国产中文一区二区三区| 欧美在线视频免费观看| 欧美一区二区三区视频在线| 国产精品区免费视频| 亚洲欧美在线x视频| 国产香蕉97碰碰久久人人| 一区二区激情视频| 欧美在线你懂的| 午夜国产精品影院在线观看| 欧美一区二区精品久久911| 欧美亚洲成人精品| 性欧美大战久久久久久久免费观看| 在线视频日韩| 国产精品久久精品日日| 欧美伊人久久久久久午夜久久久久| 麻豆精品视频在线观看| 亚洲国产成人tv| 亚洲欧美一区二区视频| 日韩视频一区| 国产精品亚洲精品| 久久看片网站| 亚洲欧美日韩高清| 欧美电影专区| 欧美一级片一区| 亚洲黄色精品| 欧美午夜女人视频在线| 久久久久久一区二区三区| 亚洲国产精品高清久久久| 99精品视频免费观看| 怡红院精品视频| 国产精品久久国产三级国电话系列 | 欧美日韩一二三区| 久久精品国产亚洲一区二区三区 | 亚洲福利视频网站| 久久精品免费播放| 午夜精品视频| 夜夜爽夜夜爽精品视频| 国产麻豆精品theporn| 久久一区精品| 亚洲综合丁香| 亚洲网站在线| 亚洲一二三区精品| 亚洲欧美日本日韩| 亚洲精品美女久久7777777| 欧美大片在线观看一区| 夜夜嗨av色综合久久久综合网| 亚洲欧美综合国产精品一区| 国产亚洲一区在线播放| 欧美精品日韩| 亚洲欧美日韩精品久久久久| 欧美亚洲在线播放| 久久午夜视频| 欧美777四色影视在线| 国产精品人成在线观看免费| 亚洲欧美福利一区二区| 亚洲一区精彩视频| 另类亚洲自拍| 欧美一区三区三区高中清蜜桃| 欧美激情第1页| 一区一区视频| 久久另类ts人妖一区二区| 一区二区三区日韩| 欧美精品在线播放| 亚洲激情在线视频| 男女精品视频| 久久久久综合一区二区三区| 欧美性事免费在线观看| 亚洲靠逼com| 欧美激情在线观看| 久久久精品一区| 激情久久中文字幕| 美女脱光内衣内裤视频久久影院| 久久国产精品99国产| 国产综合色精品一区二区三区| 欧美在线视频全部完| 亚洲欧美一区在线| 一区二区三区在线视频观看 | 国产一区二区三区观看 | 狠狠色狠狠色综合| 欧美资源在线| 久久久久久久综合色一本| 狠狠色狠狠色综合人人| 欧美mv日韩mv亚洲| 欧美成人精品| 午夜精品美女久久久久av福利| 亚洲欧美日韩在线| 亚洲精品在线视频| 性色av一区二区三区| 最新日韩欧美| 亚洲欧美一区二区在线观看| 亚洲欧洲三级电影| 欧美一级视频一区二区| 夜夜精品视频| 久久综合九色欧美综合狠狠| 亚洲午夜高清视频| 亚洲欧美影院| 亚洲激情一区二区| 亚洲天堂av在线免费观看| 国产视频久久| 亚洲国产黄色片| 欧美理论电影网| 久久九九电影| 欧美日韩国产页| 欧美亚洲综合网| 久久久噜噜噜久久中文字幕色伊伊| 亚洲国产成人av好男人在线观看| 亚洲一级黄色av| 一区二区三区国产精华| 久久久久久免费| 久久久国产成人精品| 欧美日韩国产首页| 欧美成人午夜免费视在线看片| 国产精品日韩欧美| 一区二区高清在线| 亚洲男女自偷自拍| 免费看av成人| 欧美成人免费va影院高清| 欧美三级视频在线| 亚洲精品黄网在线观看| 亚洲欧洲一区二区三区| 久久久一区二区| 欧美国产免费| 日韩亚洲国产精品| 99精品热视频只有精品10| 欧美日韩视频在线一区二区观看视频 | 欧美人与禽性xxxxx杂性| 老司机精品久久| 激情文学综合丁香| 欧美大片在线观看一区| 最新成人在线| 中国日韩欧美久久久久久久久| 欧美日韩精品国产| 亚洲欧美精品伊人久久| 久久嫩草精品久久久久| 在线看视频不卡| 免费高清在线一区| 亚洲青涩在线| 欧美在线观看日本一区| 国产一区二区精品丝袜| 欧美成ee人免费视频| 亚洲一区观看| 亚洲美女尤物影院| 欧美激情亚洲综合一区| 欧美影院精品一区| 亚洲激情网址| 国产日韩综合一区二区性色av| 性欧美1819性猛交| 亚洲另类在线一区| 久久视频国产精品免费视频在线| 亚洲福利视频一区二区| 国产精品qvod| 欧美视频二区36p| 欧美日韩喷水| 国产精品女人网站| 国产日本欧美一区二区| 黄色成人在线免费| 日韩一二三区视频| 亚洲自拍偷拍网址| 久久久人成影片一区二区三区| 久久精品国产亚洲5555| 免费在线观看成人av| 亚洲一区视频在线| 一区二区高清在线观看| 一区二区高清| 亚洲一区二区三区视频播放| 亚洲理伦电影| 中文一区二区| 午夜精品免费视频| 国产精品人人做人人爽人人添| 欧美在线观看网址综合|