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

The Fourth Dimension Space

枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢(mèng)令

POJ 1095 卡特蘭數(shù)+dfs

感覺和上次codeforce的第四題有點(diǎn)像,雖然沒做出來,呵呵。
看來枚舉左右子樹這一招還是蠻常用的。其實(shí)我本來想練下卡特蘭數(shù)的,結(jié)果變成練DFS了。
注意遞歸求解左右孩子時(shí)的那兩個(gè)參數(shù),一定要先加上1,否則就不對(duì)了。

#include<stdio.h>
long long a[20];  
long long b[20]; 
//定理:n個(gè)結(jié)點(diǎn)能形成的二叉樹總數(shù)為 卡特蘭數(shù) C(2n,n)/(n+1) 或者由遞推公式Ci+1=2*(2*i+1)/(i+2)*Ci 
//設(shè)計(jì)figure(n),n代表這棵樹整體的偏移量
//分別算出其左右子樹各自的偏移量,遞歸求解即可
//由于先遞歸左兒子,輸出順序與題意相符
void figure(int n) 
{       
    
int t,i,j;  
    
if(n==1){printf("X");return;}     
    j
=0;
    
while(trueif(b[++j]>=n) break;         
    n
=n-b[j-1];//j代表有幾個(gè)結(jié)點(diǎn),n此時(shí)代表在這些結(jié)點(diǎn)下的序號(hào)    
    for(i=0;i<j;i++)   
    
{          
        t
=a[i]*a[j-1-i];    
        
if(t>=n)  break;           
        
else n=n-t;   
    }
     
    
if(i!=0)    //i是此時(shí)左子樹掛的節(jié)點(diǎn)數(shù)
    {        
        printf(
"(");  
        figure(b[i
-1]+1+(n-1)/a[j-1-i]);//初始的時(shí)刻,只需要增加1,左子樹的偏移量就增加1,而之后的部分,需要右子樹變換a[j-i-1]次,左子樹的偏移量才增加1  
        printf(")");
    }
    
    printf(
"X");  
    
if(i!=j-1)    
    
{        
        printf(
"(");  
        figure(b[j
-2-i]+1+(n-1)%a[j-1-i]);   
        printf(
")");   
    }
   
}
        
int main()  
{      
    
int n;   
    
int i,j;     
    a[
0]=1;     
    a[
1]=1;       
    b[
1]=1;     
    b[
0]=0;     
    
for(i=2;i<20;i++
    
{        
        a[i]
=2*(2*(i-1)+1)*a[i-1]/(i+1) ;//卡特蘭數(shù)遞推公式
        b[i]=b[i-1]+a[i];   
    }
    
    
while(scanf("%d",&n)&&n)   
    
{      
        solve(n);   
        printf(
"\n");   
    }
       
    
return 0;  
}
  

posted on 2010-04-13 17:33 abilitytao 閱讀(2150) 評(píng)論(5)  編輯 收藏 引用

評(píng)論

# re: POJ 1095 卡特蘭數(shù)+dfs 2010-04-13 19:37 abilitytao

srand(time(NULL))
是以當(dāng)前到1970年的時(shí)間間隔的秒數(shù)為種子,time(NULL),指不需要保存一個(gè)時(shí)間對(duì)象
通常情況下可以Time tTime;然后time(&tTime)來將這個(gè)時(shí)間獲取到。

而rand()是以剛才生成的種子為基礎(chǔ)來產(chǎn)生一個(gè)隨機(jī)數(shù),每調(diào)用一次產(chǎn)生一個(gè)數(shù),貌似如果期間沒有再次調(diào)用srand來生成種子,rand()是接著前面的序列來產(chǎn)生下一個(gè)數(shù)。(個(gè)人想法)
因?yàn)椋?
srand(time(NULL));
int x = rand();
int y = rand();
x和y的值不一樣。而:
srand(time(NULL));
int x = rand();
srand(time(NULL));
int y = rand();
則是相同,因?yàn)楹笠环N使用了同一個(gè)種子(運(yùn)行期間時(shí)間很短,返回的秒數(shù)相同)  回復(fù)  更多評(píng)論   

# re: POJ 1095 卡特蘭數(shù)+dfs[未登錄] 2010-04-16 09:49 yoyo

I can understand a[i] stores catalan number when there are i nodes.
but what is b[] used for?

Thanks,
yoyo  回復(fù)  更多評(píng)論   

# re: POJ 1095 卡特蘭數(shù)+dfs[未登錄] 2010-04-16 10:59 abilitytao

@yoyo
b[i]=a[1]+a[2]+...a[i];  回復(fù)  更多評(píng)論   

# re: POJ 1095 卡特蘭數(shù)+dfs[未登錄] 2010-04-16 11:19 yoyo

@abilitytao
:-) I can know it from code, while no idea what's the purpose of b[i] = a[1]+...a[i]

Thanks for quick replying.

yoyo  回復(fù)  更多評(píng)論   

# re: POJ 1095 卡特蘭數(shù)+dfs 2010-04-16 17:50 abilitytao

@yoyo
the intention is to find the node number of the the tree that you want.
you are not chinese? or you can understand it through my notes by Chinese.  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   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>
            精品成人国产| 欧美成人精品1314www| 欧美日韩在线三区| 亚洲在线观看免费视频| 99riav1国产精品视频| 欧美三日本三级少妇三99| 一区二区三区免费网站| 中日韩高清电影网| 国产精品视频999| 久久综合伊人| 欧美精品一区二区三区高清aⅴ| 日韩亚洲欧美一区| 中文欧美字幕免费| 韩国av一区二区三区| 亚洲第一视频| 欧美日韩免费观看一区二区三区| 亚洲欧美国产日韩中文字幕| 性欧美暴力猛交69hd| 在线观看亚洲一区| 99视频在线精品国自产拍免费观看| 国产精品国产三级国产普通话蜜臀| 久久av二区| 欧美高清不卡在线| 欧美一区二区三区精品| 久久久噜噜噜久久中文字幕色伊伊| 亚洲精品一品区二品区三品区| 亚洲私人影吧| 最新高清无码专区| 午夜视频在线观看一区二区三区 | 久久久久久有精品国产| 亚洲免费观看视频| 午夜激情综合网| 亚洲精品久久久久| 亚洲欧美日本国产有色| 亚洲经典一区| 欧美一区二区三区在线播放| 亚洲另类视频| 久久女同精品一区二区| 亚洲午夜精品一区二区三区他趣| 久久久久久有精品国产| 亚洲综合二区| 欧美精品首页| 美女网站在线免费欧美精品| 国产精品婷婷| 亚洲伦理自拍| 亚洲精品欧美一区二区三区| 久久久久www| 欧美专区第一页| 欧美午夜在线| 99天天综合性| 亚洲午夜精品一区二区三区他趣| 欧美α欧美αv大片| 亚洲一区二区三区在线视频| 在线观看欧美成人| 亚洲视频网在线直播| 亚洲伦理一区| 欧美成人国产一区二区| 蜜桃伊人久久| 亚洲第一福利视频| 久久午夜影视| 欧美成人日韩| 亚洲激情网站免费观看| 久久在精品线影院精品国产| 久久亚洲综合色| 一区二区三区我不卡| 久久精品免费电影| 你懂的网址国产 欧美| 在线看片成人| 欧美成人国产va精品日本一级| 欧美成年人网| 亚洲精品一区二区三区福利| 欧美成人在线影院| 亚洲美女在线一区| 亚洲无线一线二线三线区别av| 欧美日韩国产成人在线免费| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美激情在线狂野欧美精品| 亚洲第一综合天堂另类专| 国产精品久久久一区二区| 亚洲一区二区在线看| 欧美一区在线直播| 狠狠色香婷婷久久亚洲精品| 久久久噜噜噜久久中文字幕色伊伊 | 久久久www成人免费精品| 欧美一区二区三区四区夜夜大片| 欧美午夜宅男影院在线观看| 亚洲欧美日韩在线观看a三区| 久久久久久久久伊人| 亚洲电影在线播放| 欧美成人亚洲| 夜夜嗨av一区二区三区| 久久爱91午夜羞羞| 亚洲大胆人体视频| 欧美日韩综合在线| 欧美在线视频导航| 亚洲夫妻自拍| 欧美一区二区三区四区在线观看地址 | 欧美午夜精品久久久久久孕妇 | 久久亚洲美女| 一区二区三区高清视频在线观看| 国产精品一区二区三区成人| 狂野欧美激情性xxxx欧美| 亚洲免费观看在线视频| 久久久久久穴| 亚洲深夜福利网站| 永久免费精品影视网站| 欧美日韩在线一区二区三区| 国产视频在线观看一区二区三区| 99热免费精品| 老牛影视一区二区三区| 亚洲视频 欧洲视频| 国户精品久久久久久久久久久不卡 | 国产精品日韩久久久久| 久久精品视频一| 99热免费精品在线观看| 欧美激情在线| 久久这里有精品视频| 午夜精品国产精品大乳美女| 亚洲精品欧洲精品| 黄色亚洲在线| 国产欧美日韩在线| 欧美日韩亚洲综合一区| 免费国产自线拍一欧美视频| 欧美一区成人| 亚洲免费在线视频一区 二区| 亚洲美女视频| 亚洲国产日韩美| 猛男gaygay欧美视频| 久久国产一区二区三区| 亚洲欧美日韩在线| 亚洲视频电影在线| 日韩西西人体444www| 亚洲高清久久网| 精品成人在线| 狠狠干狠狠久久| 国语自产精品视频在线看抢先版结局 | 久久久精品久久久久| 篠田优中文在线播放第一区| 一区二区欧美视频| 宅男精品视频| 亚洲一区二区三区影院| 在线视频日韩| 亚洲自拍偷拍一区| 亚洲女人av| 欧美一级大片在线免费观看| 午夜精品福利视频| 午夜欧美不卡精品aaaaa| 正在播放日韩| 欧美亚洲一区二区三区| 欧美一区二区三区精品| 欧美一级久久久久久久大片| 欧美一区二区三区精品电影| 久久精品国产69国产精品亚洲| 欧美中文字幕在线观看| 久久久久亚洲综合| 玖玖精品视频| 欧美激情久久久久久| 欧美日韩亚洲高清一区二区| 国产精品久久久久久久一区探花| 国产精品一级二级三级| 一区二区三区在线视频观看| 最新日韩欧美| 亚洲自拍16p| 久久先锋资源| 亚洲欧洲在线视频| 亚洲一区二区成人| 久久九九免费视频| 欧美成人蜜桃| 国产精品一区二区三区四区五区| 狠狠色狠色综合曰曰| 亚洲欧洲精品成人久久奇米网| 中日韩在线视频| 久久国产欧美| 亚洲精品国产精品乱码不99按摩| aa亚洲婷婷| 久久精品国产亚洲一区二区| 模特精品在线| 国产农村妇女精品一二区| 玉米视频成人免费看| 一区二区不卡在线视频 午夜欧美不卡' | 国产三区精品| 136国产福利精品导航网址应用| 亚洲黄色有码视频| 亚洲欧美国产精品va在线观看 | 久久久久久有精品国产| 亚洲国产精品女人久久久| 亚洲已满18点击进入久久| 麻豆久久久9性大片| 国产精品国产馆在线真实露脸| 黄网站色欧美视频| 亚洲尤物精选| 亚洲国产精品久久精品怡红院| 亚洲欧美成人网| 欧美精品乱码久久久久久按摩| 国产亚洲在线观看| 亚洲男人av电影| 亚洲精品国产品国语在线app| 久久国产免费看| 国产精品主播| 午夜视频一区在线观看|