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

c++實(shí)例研究

從0開始

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  104 隨筆 :: 0 文章 :: 20 評(píng)論 :: 0 Trackbacks

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

well 代碼分格越來(lái)越簡(jiǎn)練,明了。
less well 較費(fèi)時(shí)的地方:合并根結(jié)點(diǎn)計(jì)算相對(duì)偏移。mod運(yùn)算結(jié)果是負(fù)數(shù)。差錯(cuò)用了不少時(shí)間。

#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) 評(píng)論(0)  編輯 收藏 引用 所屬分類: POJ

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            亚洲欧美日本另类| 亚洲专区免费| 久久性天堂网| 香蕉久久a毛片| 午夜欧美视频| 久久精品女人的天堂av| 久久久久久久久岛国免费| 久久久久国产精品人| 蜜桃av综合| 欧美日韩三级视频| 国产日韩精品一区二区| 韩日在线一区| 亚洲久久成人| 性欧美超级视频| 欧美国产一区在线| 一区二区三区欧美日韩| 久久久999精品免费| 欧美极品一区| 国产一区91| 日韩一级在线观看| 久久精品国产成人| 亚洲精品视频免费| 欧美在线视频日韩| 欧美日韩卡一卡二| 国外成人网址| 亚洲一区二区三区精品视频| 久久久久国产精品www| 日韩视频在线观看免费| 久久精品免费看| 国产精品国产三级欧美二区| 亚洲福利电影| 久久九九精品99国产精品| 亚洲国产欧美久久| 亚洲欧美日韩精品久久久久| 欧美激情网友自拍| 悠悠资源网亚洲青| 亚洲在线网站| 国产精品99久久99久久久二8 | 国产日韩在线播放| 亚洲激情在线视频| 久久久久99精品国产片| 制服丝袜激情欧洲亚洲| 欧美ab在线视频| 亚洲影院在线| 欧美人成在线| 亚洲伦理网站| 久久性天堂网| 欧美一区二区三区在线观看视频 | 精品动漫3d一区二区三区免费 | 亚洲第一天堂无码专区| 午夜精品区一区二区三| 欧美色欧美亚洲高清在线视频| 亚洲国产精品电影| 免费在线观看成人av| 欧美制服丝袜第一页| 国产精品一区毛片| 亚洲欧美日本精品| 亚洲午夜女主播在线直播| 欧美日韩国产在线播放| 亚洲美女在线观看| 91久久久久| 欧美日韩精品高清| 亚洲午夜国产一区99re久久| 日韩亚洲视频| 国产精品chinese| 亚洲新中文字幕| 中文精品在线| 国产欧美日韩一区| 久久夜色精品国产噜噜av| 欧美主播一区二区三区| 好看的av在线不卡观看| 免费高清在线视频一区·| 久久久国产亚洲精品| 一区二区三区在线高清| 欧美激情精品久久久六区热门 | 亚洲精品久久久久久下一站 | 一区精品在线| 欧美激情在线播放| 欧美另类变人与禽xxxxx| 一本到12不卡视频在线dvd| 一区二区欧美视频| 最新国产成人av网站网址麻豆| 欧美精品久久99| 99re热这里只有精品免费视频| 伊人精品成人久久综合软件| 日韩亚洲欧美中文三级| 一区二区三区精品| 国产一区二区三区久久悠悠色av| 久久综合九色综合欧美狠狠| 久久亚洲一区| 亚洲午夜视频在线观看| 欧美一区二区三区免费视| 亚洲日本黄色| 午夜精品www| 99精品国产一区二区青青牛奶| 亚洲视频精品在线| 亚洲日本成人网| 亚洲欧美国产日韩中文字幕| 亚洲国产影院| 欧美一区二区三区免费观看| 亚洲精品一区二| 欧美一区午夜视频在线观看| 一本大道久久a久久精二百| 久久精品国产一区二区三区免费看 | 欧美精品97| 久久在线播放| 国产精品久久久久天堂| 欧美激情视频在线播放| 国产精品资源在线观看| 亚洲韩国一区二区三区| 国产有码一区二区| 亚洲一区二区视频在线| 91久久久在线| 久久久人成影片一区二区三区观看 | 亚洲五月六月| 亚洲美女中文字幕| 久久精品国产精品亚洲综合 | 亚洲欧洲一区二区天堂久久| 今天的高清视频免费播放成人 | 快射av在线播放一区| 欧美一区永久视频免费观看| 欧美全黄视频| 亚洲精品国产精品乱码不99 | 久久精品国内一区二区三区| 欧美精品一区二| 欧美激情网站在线观看| 国产一区二区三区黄视频| 中文成人激情娱乐网| 一区二区三区毛片| 欧美激情视频一区二区三区在线播放| 久久亚洲高清| 国内精品视频在线播放| 午夜视频一区二区| 欧美综合国产精品久久丁香| 国产精品免费电影| 亚洲一区在线观看视频 | 中日韩视频在线观看| 久久综合色影院| 欧美国产日韩视频| 亚洲国产精品va| 理论片一区二区在线| 欧美激情一区二区三区在线视频| 在线电影欧美日韩一区二区私密| 欧美影院在线| 欧美 日韩 国产一区二区在线视频 | 99国产精品视频免费观看| 野花国产精品入口| 欧美三日本三级少妇三2023| 99在线精品视频| 小黄鸭精品aⅴ导航网站入口| 欧美日韩国产影院| 亚洲在线一区二区三区| 欧美一区二区三区视频在线| 国产欧美一区视频| 久久精品一区四区| 亚洲国产成人久久综合一区| 一区二区三区四区在线| 国产精品五区| 久久久久免费观看| 亚洲国产清纯| 亚洲免费在线观看| 国产日韩欧美中文| 久热精品视频在线观看| 亚洲精品系列| 久久久久久久久综合| 日韩视频不卡| 亚洲国产精品一区二区三区| 国产精品99久久99久久久二8| 国产精品午夜在线| 久久综合一区二区三区| 国产精品99久久不卡二区| 久久久久久夜精品精品免费| 91久久精品一区二区三区| 国产精品女人久久久久久| 久久久久久久尹人综合网亚洲| 亚洲精品乱码久久久久久| 久久久精品国产99久久精品芒果| 亚洲国产精品电影在线观看| 国产精品视频大全| 欧美成人xxx| 欧美在线观看天堂一区二区三区| 亚洲国产精品一区| 久久久久欧美| 亚洲欧美日本国产有色| 亚洲精品九九| 伊人久久大香线| 国产精品亚洲一区| 欧美日本不卡| 欧美mv日韩mv国产网站| 欧美在线一区二区| 一本大道av伊人久久综合| 亚洲第一天堂无码专区| 久久久噜噜噜久久| 欧美在线999| 午夜精品久久久久久久蜜桃app| 亚洲美洲欧洲综合国产一区| 一区二区在线观看av| 国产区日韩欧美| 国产精品推荐精品| 欧美视频官网|