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

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 閱讀(371) 評論(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>
            欧美日韩另类在线| 国产精品一区二区在线观看网站| 国产一区二区精品| 久久精品一本| 久久婷婷麻豆| 亚洲成人在线观看视频| 欧美好骚综合网| 欧美日韩国产高清| 亚洲免费小视频| 久久精品国产77777蜜臀| 亚洲福利小视频| 夜夜爽av福利精品导航| 国产精品久久一级| 久久亚洲不卡| 欧美日本亚洲| 久久久国产午夜精品| 久久综合九色综合欧美就去吻| 亚洲精选在线观看| 亚洲性xxxx| 亚洲精华国产欧美| 亚洲一区二区三区成人在线视频精品| 国产日韩亚洲欧美| 亚洲福利视频专区| 欧美视频1区| 麻豆精品视频在线观看| 欧美大香线蕉线伊人久久国产精品| 一区二区三区欧美亚洲| 欧美中日韩免费视频| 日韩小视频在线观看专区| 亚洲欧美日韩国产一区二区三区| 亚洲二区视频在线| 亚洲影院免费| 日韩一级欧洲| 久久九九热免费视频| 亚洲一区二区三区四区在线观看 | 久久久精品午夜少妇| 男人的天堂亚洲| 久久精品国产亚洲一区二区| 欧美日韩第一区| 久久夜色精品国产欧美乱| 国产精品国产三级国产专播品爱网| 美女999久久久精品视频| 欧美三日本三级少妇三2023| 欧美chengren| 狠狠色综合色综合网络| 亚洲视频在线二区| 日韩一区二区精品葵司在线| 久久九九精品99国产精品| 午夜精品久久久久久久久久久久久| 欧美韩日亚洲| 欧美激情亚洲自拍| 激情综合久久| 久久九九热re6这里有精品 | 精品不卡一区二区三区| 亚洲尤物精选| 亚洲欧美国产精品桃花| 欧美精品一区二区三区高清aⅴ| 欧美chengren| 亚洲高清视频一区| 久久久久天天天天| 久久影视精品| 亚洲第一天堂无码专区| 久久久99免费视频| 久久亚洲国产精品一区二区| 国产欧美精品| 欧美一区二区国产| 久久精品午夜| 红桃视频亚洲| 久久综合精品一区| 亚洲电影av在线| 亚洲乱码国产乱码精品精天堂| 免费人成网站在线观看欧美高清 | 亚洲欧美日韩国产综合精品二区| 欧美天天视频| 午夜免费在线观看精品视频| 欧美一级在线播放| 国产一区二区三区网站| 久久精品综合网| 亚洲国产成人精品久久| 亚洲裸体俱乐部裸体舞表演av| 欧美片第一页| 亚洲欧美乱综合| 久久综合中文| 亚洲激情不卡| 国产精品久久久久影院亚瑟| 性久久久久久久久久久久| 久久久91精品国产一区二区三区 | 亚洲欧美成人精品| 国产精品一区二区欧美| 久久精品日韩| 亚洲人成人77777线观看| 亚洲一级在线| 一区二区三区在线免费视频| 欧美成人中文字幕| 亚洲一区二区伦理| 免费看av成人| 亚洲免费人成在线视频观看| 韩国女主播一区二区三区| 免费久久99精品国产| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 性欧美大战久久久久久久免费观看| 久久综合伊人77777麻豆| 99综合视频| 精品成人在线观看| 欧美日韩国产成人在线91| 欧美一区二区视频在线观看2020| 欧美激情偷拍| 久久久久久免费| 亚洲视频久久| 日韩午夜三级在线| 久久久久9999亚洲精品| 99亚洲一区二区| 韩国三级在线一区| 国产精品播放| 欧美精品激情在线观看| 久久www成人_看片免费不卡| 亚洲啪啪91| 免费不卡在线观看| 久久se精品一区二区| 日韩视频国产视频| 一区在线观看| 国产欧美一区二区精品性| 欧美精品v日韩精品v国产精品| 久久精品99无色码中文字幕| 亚洲视频电影在线| 亚洲精品国偷自产在线99热| 欧美69wwwcom| 蜜桃av久久久亚洲精品| 久久成人这里只有精品| 在线一区日本视频| 日韩视频在线观看免费| 亚洲欧洲日产国产网站| 国产专区综合网| 国产欧美69| 国产欧美精品日韩区二区麻豆天美| 欧美伦理a级免费电影| 免费在线观看日韩欧美| 美女主播视频一区| 久久综合一区二区| 美女被久久久| 欧美黑人在线观看| 欧美另类人妖| 欧美无砖砖区免费| 欧美日韩另类视频| 欧美三级在线| 国产精品成人在线| 国产精品美女久久福利网站| 国产精品另类一区| 国产女精品视频网站免费| 国产拍揄自揄精品视频麻豆| 国产午夜久久| 伊人久久亚洲热| 亚洲欧洲视频| 夜夜嗨一区二区三区| 亚洲一级黄色| 久久久久久国产精品一区| 久久综合给合久久狠狠狠97色69| 久久资源av| 亚洲欧洲日本一区二区三区| 亚洲国产精品综合| 99视频+国产日韩欧美| 亚洲女人天堂成人av在线| 欧美一区观看| 欧美大香线蕉线伊人久久国产精品| 欧美啪啪成人vr| 国产麻豆综合| 亚洲黄一区二区三区| 一区二区精品国产| 欧美在线视频观看| 欧美承认网站| 亚洲一区二区视频在线观看| 欧美亚洲综合网| 欧美成人免费一级人片100| 欧美日韩中文字幕| 韩国精品一区二区三区| 亚洲美女免费精品视频在线观看| 亚洲欧美999| 免费看亚洲片| 亚洲一区中文| 欧美成年网站| 国产无一区二区| 一本到高清视频免费精品| 久久动漫亚洲| 99www免费人成精品| 久久精品免费看| 欧美午夜精品久久久久久孕妇| 韩国精品在线观看| 一区二区高清视频在线观看| 久久久另类综合| 中文在线资源观看视频网站免费不卡| 欧美一区二区视频免费观看| 欧美精品一二三| 一区二区三区在线看| 亚洲自拍偷拍麻豆| 亚洲韩日在线| 免费短视频成人日韩| 国产日韩欧美电影在线观看| 亚洲视频久久| 91久久国产自产拍夜夜嗨| 久久久久久久综合色一本|