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

The Fourth Dimension Space

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

POJ 1095 卡特蘭數+dfs

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

#include<stdio.h>
long long a[20];  
long long b[20]; 
//定理:n個結點能形成的二叉樹總數為 卡特蘭數 C(2n,n)/(n+1) 或者由遞推公式Ci+1=2*(2*i+1)/(i+2)*Ci 
//設計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代表有幾個結點,n此時代表在這些結點下的序號    
    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是此時左子樹掛的節點數
    {        
        printf(
"(");  
        figure(b[i
-1]+1+(n-1)/a[j-1-i]);//初始的時刻,只需要增加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) ;//卡特蘭數遞推公式
        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) 評論(5)  編輯 收藏 引用

評論

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

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

而rand()是以剛才生成的種子為基礎來產生一個隨機數,每調用一次產生一個數,貌似如果期間沒有再次調用srand來生成種子,rand()是接著前面的序列來產生下一個數。(個人想法)
因為:
srand(time(NULL));
int x = rand();
int y = rand();
x和y的值不一樣。而:
srand(time(NULL));
int x = rand();
srand(time(NULL));
int y = rand();
則是相同,因為后一種使用了同一個種子(運行期間時間很短,返回的秒數相同)  回復  更多評論   

# re: POJ 1095 卡特蘭數+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  回復  更多評論   

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

@yoyo
b[i]=a[1]+a[2]+...a[i];  回復  更多評論   

# re: POJ 1095 卡特蘭數+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  回復  更多評論   

# re: POJ 1095 卡特蘭數+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.  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            欧美激情日韩| 一卡二卡3卡四卡高清精品视频| 亚洲字幕一区二区| 亚洲看片免费| 99国内精品久久久久久久软件| 亚洲精品小视频| 中文精品视频| 亚洲欧美精品在线观看| 久久国产福利国产秒拍| 美女精品自拍一二三四| 欧美激情视频在线播放| 国产精品久久久久久久久久免费看| 欧美日韩亚洲不卡| 国产精品欧美一区二区三区奶水 | 亚洲精品乱码久久久久久久久| 欧美黄色aaaa| 亚洲精品亚洲人成人网| 亚洲高清久久久| 久久久综合视频| 欧美日韩国产123区| 国产精品久久999| 国产精品99一区二区| 久久中文在线| 欧美精品一卡二卡| 国产日本欧美一区二区三区| 在线观看久久av| 国产精品99久久久久久人 | 国内揄拍国内精品久久| 亚洲国产精品久久久久秋霞影院| 一本一道久久综合狠狠老精东影业 | 亚洲激情影视| 午夜精品电影| 欧美激情二区三区| 国内精品久久久久久久影视蜜臀| 亚洲肉体裸体xxxx137| 性欧美精品高清| 亚洲黄一区二区| 久久久精品国产一区二区三区| 国产精品二区在线| 99精品国产热久久91蜜凸| 久久性天堂网| 亚洲一区二区成人在线观看| 欧美mv日韩mv国产网站| 国产一区二区三区四区三区四| 日韩视频―中文字幕| 久久偷看各类wc女厕嘘嘘偷窃| 国产精品99久久久久久人| 欧美精品在线视频观看| 亚洲国产美女| 蜜桃久久av一区| 久久高清国产| 国产欧美视频一区二区| 亚洲一区二区三区中文字幕在线| 亚洲人成7777| 欧美激情91| 亚洲精品在线三区| 亚洲大胆av| 久久一区亚洲| 亚洲国产精品一区制服丝袜 | 性做久久久久久| 在线亚洲高清视频| 国产精品v欧美精品v日韩 | 亚洲影音一区| 亚洲视频一起| 日韩手机在线导航| 亚洲韩国精品一区| 麻豆成人在线观看| 亚洲人久久久| 亚洲激情av在线| 欧美日韩一区国产| 日韩一区二区精品视频| 日韩一级精品视频在线观看| 欧美日韩一区二区三区在线 | 亚洲国产精品免费| 亚洲国产综合91精品麻豆| 欧美激情视频一区二区三区免费 | 欧美国产日本| 欧美女同在线视频| 亚洲免费视频观看| 欧美一区二区啪啪| 亚洲精品国产精品乱码不99| 亚洲日本aⅴ片在线观看香蕉| 欧美日本不卡| 久久成人羞羞网站| 老牛国产精品一区的观看方式| 亚洲精品永久免费精品| 亚洲午夜精品一区二区| 黄色另类av| 亚洲精品乱码久久久久久蜜桃麻豆 | 伊人成人开心激情综合网| 免费在线观看一区二区| 欧美肥婆bbw| 午夜精品久久久久久久久久久久| 羞羞色国产精品| 亚洲免费av电影| 欧美成人免费全部观看天天性色| 国产日韩亚洲欧美综合| 亚洲大片精品永久免费| 国产精品国产三级国产普通话蜜臀| 欧美一区二区高清| 欧美福利电影在线观看| 欧美一区二区三区免费观看| 狼人社综合社区| 欧美一区二区三区播放老司机| 毛片av中文字幕一区二区| 亚洲男人的天堂在线| 久久噜噜亚洲综合| 亚洲欧美在线一区| 欧美精品久久久久久久| 久久久久一区| 国产精品国产三级国产aⅴ9色| 久久综合电影| 国产精品亚洲精品| 亚洲欧洲一区二区三区在线观看 | 日韩小视频在线观看专区| 国语精品中文字幕| 亚洲一区二区三区精品视频| 久久久美女艺术照精彩视频福利播放| 美国十次成人| 久久久久**毛片大全| 欧美日韩一区二| 亚洲激情校园春色| 亚洲第一天堂无码专区| 亚洲一二三区精品| 亚洲一级黄色| 欧美日韩视频免费播放| 欧美激情一区二区三区| 一区免费观看| 久久精品av麻豆的观看方式 | 99视频日韩| 欧美freesex8一10精品| 免费成人av在线| 好吊一区二区三区| 亚洲欧美在线免费观看| 亚洲欧美日韩国产综合| 欧美日韩在线三区| 99国产一区| 亚洲一区二区3| 欧美日本亚洲韩国国产| 亚洲欧洲日产国产网站| 一本久久综合| 欧美午夜在线视频| 一本一本久久| 午夜综合激情| 国产综合av| 久热精品在线| 亚洲黄色在线观看| 一区二区毛片| 国产精品美女久久福利网站| 亚洲一区二区三区四区在线观看 | 欧美一区二区三区视频在线观看 | 亚洲精品一区二区三| 99综合在线| 欧美性大战久久久久久久蜜臀| 亚洲三级免费| 一区二区三区精品视频| 欧美久久成人| 亚洲影视在线| 麻豆成人综合网| 亚洲乱码日产精品bd| 欧美日韩国产在线播放| 中文欧美日韩| 久久婷婷麻豆| 亚洲经典自拍| 国产精品电影网站| 久久av二区| 亚洲黄色在线观看| 欧美一区二区日韩一区二区| 一区精品在线| 欧美日韩在线播放一区| 亚洲欧美国产毛片在线| 欧美丰满少妇xxxbbb| 亚洲无限av看| 尤物99国产成人精品视频| 你懂的视频一区二区| 亚洲制服av| 亚洲国产精品99久久久久久久久| 亚洲在线观看免费视频| 在线观看成人网| 卡一卡二国产精品| 99精品视频免费在线观看| 国产精品久久福利| 久久综合国产精品台湾中文娱乐网| 亚洲精品一区二区三区樱花| 久久精品国产清高在天天线| 亚洲伦理在线免费看| 国产一区二区在线观看免费播放| 免费成人av资源网| 亚洲欧美日韩中文播放| 亚洲美女少妇无套啪啪呻吟| 亚洲欧美日韩国产综合精品二区| 亚洲高清视频在线| 欧美在线视频不卡| 亚洲一级二级在线| 亚洲美女色禁图| 黑丝一区二区| 国产欧美日韩在线| 欧美四级伦理在线| 久久噜噜噜精品国产亚洲综合| 在线视频中文亚洲|