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

The Fourth Dimension Space

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

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

感覺和上次codeforce的第四題有點(diǎn)像,雖然沒做出來(lái),呵呵。
看來(lái)枚舉左右子樹這一招還是蠻常用的。其實(shí)我本來(lái)想練下卡特蘭數(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 閱讀(2161) 評(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)來(lái)將這個(gè)時(shí)間獲取到。

而rand()是以剛才生成的種子為基礎(chǔ)來(lái)產(chǎn)生一個(gè)隨機(jī)數(shù),每調(diào)用一次產(chǎn)生一個(gè)數(shù),貌似如果期間沒有再次調(diào)用srand來(lái)生成種子,rand()是接著前面的序列來(lái)產(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   博問(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>
            亚洲高清视频一区| 91久久线看在观草草青青| 欧美日韩国产不卡在线看| 久久久精品国产免大香伊| 亚洲欧美成aⅴ人在线观看| 亚洲韩国日本中文字幕| 亚洲精品一二区| 91久久久国产精品| aa国产精品| 午夜精品国产| 久久精品电影| 欧美极品在线视频| 国产精品夫妻自拍| 国产视频欧美视频| 亚洲国产成人精品久久| 一本色道久久88综合亚洲精品ⅰ| 亚洲精品在线免费| 亚洲欧美日本日韩| 久久久久久精| 亚洲第一精品在线| 亚洲一品av免费观看| 久久精品91久久久久久再现| 狂野欧美一区| 国产精品久在线观看| 在线观看欧美黄色| 亚洲一区中文| 国产亚洲一区二区三区在线观看| 狠狠干综合网| 99国产精品久久久久久久| 亚洲在线免费| 美女国产一区| 一区二区国产日产| 另类成人小视频在线| 国产精品久久91| 在线观看欧美黄色| 欧美一级播放| 亚洲精品久久久一区二区三区| 午夜精品婷婷| 欧美日韩免费一区| 亚洲黄色免费电影| 久久免费视频在线| 亚洲一二三区在线| 国产精品va在线播放我和闺蜜| 在线激情影院一区| 久久久久五月天| 亚洲午夜免费视频| 欧美精品啪啪| 亚洲国产日韩综合一区| 性做久久久久久久久| 日韩午夜黄色| 欧美成人国产一区二区| 黄色精品一区二区| 久久黄色网页| 亚洲欧美日本日韩| 国产精品久久久久久模特| 日韩视频不卡中文| 亚洲第一精品影视| 免费国产一区二区| 亚洲大胆女人| 老鸭窝亚洲一区二区三区| 午夜精品福利视频| 国产欧美午夜| 久久久久国产精品午夜一区| 午夜日韩在线| 国产乱子伦一区二区三区国色天香| 国产精品99久久久久久人| 亚洲靠逼com| 欧美日韩国产黄| 宅男噜噜噜66一区二区66| 亚洲美女尤物影院| 欧美日韩在线播放| 亚洲欧美精品在线| 亚洲欧美成人一区二区三区| 国产精品专区第二| 亚洲专区在线视频| 亚洲欧美另类中文字幕| 国产区在线观看成人精品| 久久不射网站| 久久精品日产第一区二区三区| 国产在线欧美日韩| 欧美激情免费在线| 欧美日韩国产综合新一区| 在线一区亚洲| 欧美中文在线免费| 亚洲国产欧美一区二区三区久久| 欧美激情按摩在线| 欧美日韩日日夜夜| 国产亚洲二区| 亚洲一区二区三区久久| 亚洲美女在线观看| 国产一区二区三区av电影| 久久综合九色九九| 欧美精品亚洲精品| 欧美在线观看视频在线| 久久乐国产精品| 这里只有精品电影| 欧美在线地址| 99国产成+人+综合+亚洲欧美| 欧美肥婆bbw| 国产精品三级视频| 免费国产一区二区| 国产精品白丝jk黑袜喷水| 久久精品人人爽| 欧美第一黄网免费网站| 欧美一区2区视频在线观看| 久久一区二区三区国产精品 | 国产精品激情| 久久综合网络一区二区| 欧美视频在线观看一区| 猫咪成人在线观看| 欧美亚州一区二区三区| 欧美国产丝袜视频| 国产欧美一区二区精品婷婷| 亚洲欧洲综合另类| 国产一区二区主播在线| 一区二区成人精品| 亚洲精品乱码久久久久久黑人 | 久久综合狠狠综合久久综合88 | 亚洲国产精品一区二区第一页| 亚洲无亚洲人成网站77777| 亚洲国产欧美国产综合一区| 欧美在线播放一区| 欧美专区中文字幕| 国产精品多人| 一本色道精品久久一区二区三区| 亚洲激情视频在线观看| 久久av一区二区三区漫画| 亚洲欧美日韩另类| 欧美日韩亚洲高清一区二区| 亚洲丰满在线| 亚洲国产精品久久精品怡红院| 欧美在线视频一区二区| 亚洲欧洲av一区二区三区久久| 欧美日韩精品免费看| 亚洲区国产区| 亚洲精品偷拍| 欧美精品黄色| 亚洲精品人人| 亚洲精品视频一区| 欧美美女bbbb| 99精品视频网| 亚洲一区二区三区视频| 欧美午夜久久久| 亚洲一区二区三区在线播放| 亚洲欧美日韩成人| 国产欧美精品日韩| 性做久久久久久久免费看| 欧美在线高清视频| 国产一区二区在线观看免费| 久久精品91久久香蕉加勒比| 欧美在线日韩精品| 久久精品一区四区| 狠狠色噜噜狠狠狠狠色吗综合| 小辣椒精品导航| 久久一区二区三区国产精品 | 国模精品一区二区三区| 久久精品国产77777蜜臀| 免费h精品视频在线播放| 亚洲国产视频直播| 欧美视频三区在线播放| 亚洲综合国产激情另类一区| 久久精品亚洲一区二区| 亚洲国产视频直播| 欧美特黄a级高清免费大片a级| 亚洲自拍三区| 你懂的亚洲视频| 一本色道久久综合狠狠躁篇的优点| 国产精品v欧美精品v日韩| 欧美在线中文字幕| 亚洲乱码国产乱码精品精天堂| 午夜在线精品偷拍| 亚洲第一精品电影| 欧美日韩mp4| 欧美在线观看一区| 亚洲精品精选| 久久久久久网| 亚洲一区二区三区精品在线观看| 狠狠色综合网站久久久久久久| 欧美极品在线观看| 久久久精品999| 亚洲一二三四久久| 亚洲风情在线资源站| 久久精品亚洲一区二区| 中文日韩在线| 亚洲国产成人一区| 国产欧美一区二区精品秋霞影院| 欧美精品久久久久久久久老牛影院| 亚洲欧美综合一区| 亚洲精品综合| 欧美电影在线观看完整版| 欧美一二三视频| 在线一区二区三区做爰视频网站| 一区精品在线| 国产精品综合| 国产精品成人国产乱一区| 男人的天堂成人在线| 欧美一区二区三区成人| 一本一道久久综合狠狠老精东影业| 欧美大秀在线观看| 久久久久久精|