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

算法學(xué)社
記錄難忘的征途
posts - 141,comments - 220,trackbacks - 0

題目描述:

    有三個(gè)物種 A,B,C,其中A可以吃B,B可以吃C,C可以吃A。 給出N(N<50000)個(gè)生物,給出X(X<100000)個(gè)定論,請(qǐng)問(wèn)X個(gè)定論中有多少是謊話(huà)?

吐槽:

    剛做完GCJ想到"今天"還沒(méi)有寫(xiě)題解,于是就堅(jiān)持捉完了這個(gè)水題。可惜還是過(guò)了0點(diǎn).... 殘念啊

算法分析:

    除了正常的并查集需要記錄每個(gè)節(jié)點(diǎn)的父親以外,我們還要維護(hù)該點(diǎn)與父親的關(guān)系(吃? 被吃? 等價(jià)?)
    判斷的時(shí)候,如果i和j屬于同一集合,這就不用說(shuō)了....
    如果parent[i]!=parent[j],那么就將i和j所在集合合并,我的做法是將i的代表的父親直接變?yōu)閖。
    維護(hù)i與新的父親j的關(guān)系只需要改變一下parent[i]與j的關(guān)系值就好了(i本身的關(guān)系值不必改變,因?yàn)閕和parent[i]的關(guān)系在那里)。
    至于parent[i]和j的關(guān)系如何通過(guò)i和j的關(guān)系來(lái)確定.... 額 自己在紙上畫(huà)一畫(huà)就有了...
    
    路徑壓縮也要維護(hù)的(很重要)... 應(yīng)該很簡(jiǎn)單吧.....
 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 #define re1(i,n) for(int i=1;i<=n;i++)
 5 int P[50001][2];
 6 int find(int x){
 7     int u = P[x][0];
 8     if(u==x) return x;
 9     P[x][0]=find(u);
10     P[x][1]=(P[u][1] + P[x][1])%3;
11     return P[x][0];
12 }
13 int main(){
14     int n,k;
15     scanf("%d%d",&n,&k);
16         int c,a,b,ans=0;
17         re1(i,n) P[i][0] = i, P[i][1] = 0;
18         re1(i,k){
19             scanf("%d%d%d",&c,&a,&b);
20             if(a > n || b>n) { ans ++; continue;}
21             if(c == 1) {
22                 if(find(a)!=find(b)){
23                     int u = P[a][0];
24                     P[u][0] = b;
25                     P[u][1] = (3-P[a][1])%3;
26                 }
27                 else if(P[a][1]!=P[b][1]){
28                     ans ++;
29                 }
30             }
31             else {
32                 if(a == b) ans ++;
33                 else if(find(a)!=find(b)){
34                     int u = P[a][0];
35                     P[u][0] = b;
36                     P[u][1] = P[a][1]==2?2:P[a][1]^1;
37                 }
38                 else if((P[a][1]-P[b][1]+3) % 3 != 1) ans++;
39             }
40 //            re1(i,n) cout<<P[i][0]<<" "<<P[i][1]<<" ";cout<<endl;
41         }
42         cout<<ans<<endl;
43     
44 }
45 
posted on 2012-05-06 02:28 西月弦 閱讀(417) 評(píng)論(7)  編輯 收藏 引用 所屬分類(lèi): 解題報(bào)告經(jīng)典題目

FeedBack:
# re: poj 1182 并查集
2012-06-04 23:26 | lenohoo
我的想法是對(duì)于一個(gè)編號(hào)為i的動(dòng)物,其同時(shí)擁有兩個(gè)元素i+n,i+2*n;
i+n 屬于 吃 i 的集合,i+2*n屬于被i吃 的 集合 ;
每次輸入命令 , i , j ,
當(dāng)命令為1時(shí),如果出現(xiàn)find(i+n)==find(j) || find(i+2*n)==find(j)的情況,就出錯(cuò);不然Union(i,j) , Union(i+n,j+n) , Union(i+2*n,j+2*n) ;
當(dāng)命令為2時(shí),如果出現(xiàn)find(i+2*n)==find(j) || find(i)==find(j)的情況,就出錯(cuò);不然Union(i+n,j) , Union(i+2*n,j+n) , Union(i,j+2*n) ;
每次判斷正誤,但是錯(cuò)了,請(qǐng)問(wèn) 是算法有問(wèn)題嗎?  回復(fù)  更多評(píng)論
  
# re: poj 1182 并查集
2012-06-05 10:22 | 西月弦
@lenohoo
是算法有問(wèn)題
因?yàn)锳吃B, B吃C,不代表A可以吃C 。。。  回復(fù)  更多評(píng)論
  
# re: poj 1182 并查集
2012-06-05 21:40 | lenohoo
@西月弦
因?yàn)閍吃b,所以a+n和b在同一個(gè)集合,b吃c,b+n和c在同一個(gè)集合==>
a+2n和b+n和c在同一個(gè)集合,也就是a和c+n同一個(gè)集合,直接說(shuō)明a被c吃了呀,不是嗎?  回復(fù)  更多評(píng)論
  
# re: poj 1182 并查集
2012-06-06 10:26 | 西月弦
@lenohoo
我是說(shuō)你理解錯(cuò)題意了 A吃B B吃C 就代表A吃C了么 ... 恰恰相反 應(yīng)該是C吃A額...  回復(fù)  更多評(píng)論
  
# re: poj 1182 并查集
2012-06-06 16:14 | lenohoo
@西月弦
不是呀,根據(jù)上式,a吃b,b吃c,就直接能夠推出c吃a了啊
  回復(fù)  更多評(píng)論
  
# re: poj 1182 并查集
2012-06-06 16:25 | 西月弦
@lenohoo
好高森... 沒(méi)聽(tīng)懂.... 你可以拿我這個(gè)程序?qū)ε娜ヮ~... 或者用一種比較形式化的語(yǔ)言給我描述一下你的算法(郵件聯(lián)系把)  回復(fù)  更多評(píng)論
  
# re: poj 1182 并查集
2012-06-06 16:50 | lenohoo
@西月弦
好的,謝謝大神  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品理论片在线观看| 一区二区三区免费网站| 国产精品第13页| 亚洲国产精品一区二区www| 亚洲一区二区三区四区中文| 欧美成人精品h版在线观看| 亚洲尤物在线视频观看| 欧美破处大片在线视频| 亚洲激情在线观看| 欧美成人精品一区二区| 久久五月激情| 亚洲大胆美女视频| 欧美插天视频在线播放| 久久久亚洲成人| 精品成人乱色一区二区| 久久深夜福利免费观看| 久久久久国产一区二区| 永久免费毛片在线播放不卡| 麻豆成人在线| 欧美成人精品h版在线观看| 亚洲国产精品尤物yw在线观看| 免费高清在线一区| 免费国产一区二区| 亚洲免费高清| 在线视频亚洲一区| 国产精品青草久久久久福利99| 亚洲欧美在线另类| 性亚洲最疯狂xxxx高清| 国内免费精品永久在线视频| 免费短视频成人日韩| 欧美激情视频一区二区三区在线播放 | 麻豆国产精品一区二区三区| 久久精品1区| 在线精品国产成人综合| 亚洲东热激情| 欧美国产亚洲精品久久久8v| 在线亚洲欧美视频| 午夜精品久久久久影视| 亚洲大片在线观看| 日韩一级片网址| 国产亚洲欧洲一区高清在线观看 | 欧美一区网站| 亚洲国产精品欧美一二99| 91久久精品国产91久久性色| 欧美日韩一本到| 久久久高清一区二区三区| 久久综合给合久久狠狠狠97色69| 亚洲美女在线观看| 亚洲欧美日韩精品久久亚洲区| …久久精品99久久香蕉国产| 日韩午夜在线| 精品av久久久久电影| 99国产精品一区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品国产拍免费91在线| 国产日韩一区二区三区在线| 亚洲高清资源综合久久精品| 国产精品免费小视频| 亚洲二区在线观看| 国产一区999| 一区二区三区四区五区精品视频| 国产综合婷婷| 亚洲视频免费观看| 亚洲精品黄色| 久久久蜜桃精品| 欧美在线国产精品| 欧美日韩伦理在线免费| 麻豆精品在线观看| 国产美女精品视频| 99re6这里只有精品| 亚洲国产色一区| 久久成人久久爱| 亚洲深夜福利网站| 你懂的网址国产 欧美| 久久精品亚洲乱码伦伦中文| 欧美网站在线| aa国产精品| 99v久久综合狠狠综合久久| 久久久国产91| 久久男人av资源网站| 国产精品理论片| 一区二区三区 在线观看视| 亚洲日本va午夜在线影院| 久久激五月天综合精品| 久久免费视频在线观看| 国产酒店精品激情| 在线视频日韩| 葵司免费一区二区三区四区五区| 欧美精品入口| 麻豆国产精品777777在线| 国产精品久久久久久久久久直播 | 久久久久久久波多野高潮日日| 亚洲男人天堂2024| 欧美日韩妖精视频| 日韩亚洲综合在线| 这里是久久伊人| 欧美午夜大胆人体| 亚洲一区精品视频| 亚洲在线一区| 欧美jjzz| 日韩亚洲欧美在线观看| 日韩视频一区二区在线观看 | 在线观看日韩www视频免费| 久久久999精品| 欧美成人午夜激情在线| 亚洲日本中文字幕免费在线不卡| 久久这里只有| 亚洲国产精品久久久久久女王 | 亚洲国产精品美女| 亚洲免费观看高清完整版在线观看| 久久米奇亚洲| 久久精品一区蜜桃臀影院| 国产亚洲va综合人人澡精品| 欧美一区二区三区视频免费播放| 久久大香伊蕉在人线观看热2| 欧美激情亚洲国产| 亚洲影院免费| 欧美午夜在线| 亚洲少妇最新在线视频| 一区二区三区欧美日韩| 欧美精品123区| 亚洲日韩成人| 亚洲免费人成在线视频观看| 国产情侣久久| 亚洲主播在线播放| 久久婷婷国产综合尤物精品| 亚洲国产一区二区视频| 欧美日韩精品系列| 欧美一区二区在线免费播放| 亚洲电影免费观看高清| 亚洲夜间福利| 在线免费高清一区二区三区| 欧美激情精品久久久久久蜜臀| 国产精品99久久久久久宅男| 国产精品美女黄网| 久久午夜影视| 中文精品视频| 影音先锋亚洲一区| 国产精品毛片一区二区三区 | 国产精品久久久免费| 欧美视频在线观看一区二区| 日韩亚洲视频在线| 欧美激情精品久久久久久黑人| 欧美日韩国产在线| 欧美激情精品| 91久久精品网| 久久久av水蜜桃| 新67194成人永久网站| 农村妇女精品| 亚洲国产精品第一区二区三区| 欧美亚洲第一页| 日韩亚洲精品视频| 亚洲精品乱码久久久久久黑人| 免费影视亚洲| 美女诱惑黄网站一区| 在线成人性视频| 欧美不卡视频一区| 亚洲区免费影片| 亚洲日本va午夜在线电影| 欧美成人午夜激情| 亚洲国产精品成人一区二区| 亚洲精品一区二区三区av| 欧美人体xx| 一区二区三区产品免费精品久久75 | 亚洲日本成人网| 国产精品99久久久久久www| 欧美午夜片在线观看| 亚洲图中文字幕| 久久男人资源视频| 亚洲国产精品va| 美日韩丰满少妇在线观看| 亚洲巨乳在线| 欧美美女福利视频| 亚洲免费一在线| 免费欧美日韩| 亚洲一区二区免费看| 国产在线麻豆精品观看| 欧美成人免费全部| 亚洲免费网址| 亚洲激情成人在线| 性娇小13――14欧美| 在线国产欧美| 国产精品久久久久久久电影 | 亚洲精选在线观看| 欧美日韩中文在线观看| 久久疯狂做爰流白浆xx| 欧美激情视频给我| 午夜精品一区二区三区在线| 欧美网站大全在线观看| 久久精品主播| 中文精品一区二区三区| 欧美成人a视频| 欧美在线播放一区| 亚洲综合精品四区| 欧美va天堂| 久久视频在线免费观看| 亚洲国产精品一区制服丝袜| 欧美日韩另类丝袜其他| 久久久国产精彩视频美女艺术照福利 | 久久久精品999|