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

c++實例研究

從0開始

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  104 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks

好久沒有ACM,對很多地方都有膽怯,看著并查集資料,這道題摸索了4個小時,可見編碼能力有待大幅提高。
首先想到思路無疑是按題目中A,B,C分類方式,維護多個集合,再判斷集合關系,適當合并。這種做法很直觀,但卻很麻煩。麻煩主要出現在維護集合間關系。當兩個集合合并后,與合并集合相關集合的關系需要遞歸的維護。例如A-B, C-D,合并A,C后,B,D也需要合并。以元素抽象的集合操作麻煩。最后看題解上,維護的是有關系元素的集合,而不是同類型元素集合,并在關系集的結點中用相對偏移維護結點和根關系。合并時,更新根結點關系,并在查找時更新結點關系。詳細內容都可參考網絡上大部分實現。
理解了這種做法后,我不想用路徑壓縮,而想用相對關系樹來做。合并時更新作為孩子的結點的關系偏移量,在判斷關系時通過遍歷從結點到根的關系偏移量得到結點和總的根結點關系。

well 代碼分格越來越簡練,明了。
less well 較費時的地方:合并根結點計算相對偏移。mod運算結果是負數。差錯用了不少時間。

#include <stdio.h>
#include 
<stdlib.h>

#define MAXSIZE 50001

typedef 
struct _Node{
    
int p;
    
int r;
}
Node;

Node elem[MAXSIZE];
int N,K;

void initial()
{
    
int i;
    
for(i=1;i<=N;i++)
    
{
        elem[i].p
=i;
        elem[i].r
=0;
    }

}


int find(int x)
{
    
while(x!=elem[x].p)
        x 
= elem[x].p;
    
return x;
}


int relation(int x)
{
    
int r=0;
    
while(x!=elem[x].p){
        r 
+= elem[x].r;
        x 
= elem[x].p;
    }

    
return r%3;
}


int merge(int x, int y, int px, int py, int type)
{
    elem[px].r 
= (relation(y)-type-relation(x)+3)%3;
    elem[px].p 
= py;
}


int judge(int t,int x,int y)
{
    
int px,py;

    
if((x>N)||(y>N)) return 0;
    
if(t==1)
    
{
        px 
= find(x);
        py 
= find(y);
        
if(px!=py) {merge(x,y,px,py,0); return 1;}
        
return (relation(x)==relation(y));
    }

    
else
    
{
        px 
= find(x);
        py 
= find(y);
        
if(px!=py) {merge(x,y,px,py,1); return 1;}
        
//printf("%d==%d\n", ( relation(x)+1 ) %3, relation(y));
        return ( (( relation(x)+4%3)  ==  relation(y)  );
    }

}


int main()
{
    
int t, x, y;
    
int i,j;
    
int w;
    
    
//freopen("in.txt","r",stdin);
    
//freopen("out.txt","w",stdout);
    
    scanf(
"%d%d",&N,&K);
    initial();

    
    w
=0;
    
for(i=0;i<K;i++)
    
{
        scanf(
"%d%d%d",&t,&x,&y);
        
if(!judge(t,x,y))
        
{
            
//printf("t:%d,x:%d,y:%d\n",t,x,y);
            
//for(j=1;j<=5;j++)
            
//{
            
//    printf("j=%d,p=%d,r=%d\n",j,elem[j].p,elem[j].r);
            
//}
            w++;
        }

    }

    printf(
"%d\n",w);
    
return 0;
}


posted on 2010-10-23 14:14 elprup 閱讀(368) 評論(0)  編輯 收藏 引用 所屬分類: POJ

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            伊人狠狠色j香婷婷综合| 午夜精品成人在线视频| 久久成人免费视频| 久久精品中文字幕免费mv| 欧美午夜精品久久久| 久久中文精品| 欧美一级二级三级蜜桃| 亚洲国产经典视频| 久久久久.com| 亚洲欧洲综合另类| 亚洲制服少妇| 一区二区高清在线| 欧美国产日韩一区| 亚洲国内欧美| 久久人人超碰| 久久久五月天| 亚洲国产色一区| 亚洲成人在线视频播放| 久久全球大尺度高清视频| 国产亚洲成年网址在线观看| 亚洲免费在线| 亚洲欧美日韩一区二区三区在线观看| 欧美视频你懂的| 亚洲一区二区在线播放| 一本色道久久88综合日韩精品 | 久久综合99re88久久爱| 精品动漫3d一区二区三区| 久久亚洲欧洲| 麻豆成人综合网| 日韩午夜黄色| 亚洲视频在线观看三级| 国产日韩精品一区二区三区| 久久精品国产一区二区三| 久久久欧美一区二区| 亚洲精品美女| 中文欧美字幕免费| 亚洲永久在线观看| 亚洲欧美区自拍先锋| 国产精品亚洲成人| 另类欧美日韩国产在线| 欧美成人免费va影院高清| 欧美成人免费全部| 一本色道综合亚洲| 亚洲综合丁香| 亚洲国产成人久久| 一区二区三区**美女毛片| 国产日韩亚洲| 亚洲电影免费观看高清完整版在线观看 | 午夜精品久久久| 欧美在线播放一区| 亚洲欧洲久久| 亚洲综合不卡| 亚洲狼人综合| 亚洲欧美中日韩| 日韩午夜精品| 久久精品首页| 午夜精品在线| 久久尤物电影视频在线观看| 一本色道久久综合一区| 久久国产精品一区二区| 一区二区三区欧美成人| 久久久国产一区二区| 亚洲一区视频在线| 你懂的一区二区| 欧美在线三区| 欧美大尺度在线| 久久精品国产99国产精品澳门| 久久婷婷久久| 欧美日韩国产成人精品| 久久躁日日躁aaaaxxxx| 国产精品福利影院| 亚洲第一在线综合网站| 国产亚洲午夜| 一本色道久久综合狠狠躁的推荐| 影音先锋亚洲精品| 欧美一区二区三区在线观看| 9国产精品视频| 另类国产ts人妖高潮视频| 欧美中文字幕在线播放| 欧美日韩精品一区二区天天拍小说| 久久久噜噜噜久久中文字幕色伊伊| 欧美日本韩国一区| 亚洲国产精品毛片| 亚洲日韩视频| 免费看av成人| 亚洲第一综合天堂另类专| 在线精品视频一区二区| 久久激情综合| 老司机成人网| 永久91嫩草亚洲精品人人| 久久成人一区| 久久野战av| 欲色影视综合吧| 久久一日本道色综合久久| 久久天堂国产精品| 依依成人综合视频| 老司机午夜精品视频在线观看| 玖玖综合伊人| 亚洲国产va精品久久久不卡综合| 国产精品视频| 午夜久久资源| 久久9热精品视频| 国模一区二区三区| 久久精品中文字幕一区| 美女国内精品自产拍在线播放| 精品96久久久久久中文字幕无| 亚洲天堂av综合网| 欧美日韩国产成人高清视频| 日韩一级二级三级| 亚洲一区二区三区欧美| 国产精品美女久久久久av超清| 亚洲一区视频在线观看视频| 欧美亚洲综合在线| 国外精品视频| 欧美激情中文不卡| 亚洲午夜在线观看| 久久久91精品国产| 1000精品久久久久久久久| 欧美精品日韩www.p站| av不卡在线看| 久久av一区二区| 亚洲第一精品久久忘忧草社区| 老司机久久99久久精品播放免费| 最新亚洲视频| 亚洲欧美国产精品桃花| 国产主播一区二区| 欧美福利在线观看| 亚洲午夜日本在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 99ri日韩精品视频| 国内伊人久久久久久网站视频| 欧美不卡在线| 香蕉av福利精品导航| 欧美激情第二页| 午夜老司机精品| 亚洲国产一区二区在线| 国产精品美女久久久久av超清 | 亚洲美女在线视频| 国产精品一区二区你懂的| 久久久久这里只有精品| 日韩午夜视频在线观看| 久久蜜桃香蕉精品一区二区三区| 最新国产精品拍自在线播放| 欧美午夜视频| 老司机午夜精品| 性8sex亚洲区入口| 99精品福利视频| 欧美高清视频在线| 午夜精品久久久久久久久久久久| 亚洲国产日韩综合一区| 国产亚洲精品久久久| 国产精品v日韩精品v欧美精品网站| 久久综合一区| 久久国产主播精品| 亚洲女同同性videoxma| 亚洲国产专区校园欧美| 久久福利影视| 午夜视频在线观看一区二区三区 | 久久性天堂网| 国产精品乱码人人做人人爱| 久久精品国产99国产精品澳门| 久久精彩免费视频| 亚洲国产精品ⅴa在线观看| 欧美电影免费观看| 亚洲色图在线视频| 亚洲精品视频中文字幕| 亚洲欧美日韩在线综合| 亚洲一区二区三区高清| 欧美日韩在线精品一区二区三区| 老司机免费视频一区二区三区| 欧美性色综合| 一区二区精品在线观看| 午夜精品久久久久久久99黑人 | 一本久久青青| 欧美在线影院在线视频| 国产精品草莓在线免费观看| 一本色道久久综合亚洲精品小说| 亚洲伦理自拍| 欧美日韩一区不卡| 亚洲欧美在线一区二区| 亚洲黄色片网站| 亚欧美中日韩视频| 韩日精品中文字幕| 欧美伦理影院| 亚洲少妇一区| 欧美成人久久| 亚洲欧美成人精品| 欧美高清不卡| 欧美在线观看网站| 一本色道久久综合| 亚洲精品国产拍免费91在线| 校园春色综合网| 亚洲影院一区| 夜夜狂射影院欧美极品| 在线电影国产精品| 欧美午夜一区二区福利视频| 久久久久久尹人网香蕉| 亚洲性xxxx| 午夜精品99久久免费| 日韩视频在线你懂得|