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

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 閱讀(2164) 評論(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>
            亚洲欧美综合网| 久久精品综合网| 欧美久久一区| 中文国产成人精品久久一| 亚洲精品在线看| 欧美新色视频| 久久激情五月丁香伊人| 欧美一区二区三区免费视频| 国产乱码精品一区二区三区五月婷 | 亚洲日本欧美日韩高观看| 欧美韩国日本一区| 欧美好骚综合网| 亚洲欧美一区二区三区在线| 午夜欧美精品| 亚洲精品一区二区三区四区高清 | 亚洲欧美激情在线视频| 午夜亚洲影视| 最新成人av网站| 亚洲午夜精品国产| 亚洲国产精品一区二区第一页| 亚洲第一在线综合网站| 欧美亚一区二区| 久久麻豆一区二区| 欧美日韩人人澡狠狠躁视频| 久久久久国色av免费观看性色| 男女激情视频一区| 欧美在线二区| 欧美激情综合五月色丁香小说| 欧美一区二区三区四区视频| 久久夜色精品国产噜噜av| 亚洲一区二区在线免费观看| 久久亚洲电影| 午夜日韩在线| 欧美精品一区在线发布| 久久婷婷一区| 国产精品一区=区| 亚洲人www| 亚洲电影自拍| 羞羞漫画18久久大片| 夜夜爽www精品| 久久性天堂网| 欧美在线一级va免费观看| 欧美日本三区| 欧美成人午夜激情在线| 国产女主播一区| 一区二区久久久久久| 亚洲国产精品传媒在线观看| 西瓜成人精品人成网站| 亚洲一区二区三区精品视频| 麻豆精品国产91久久久久久| 久久夜色精品国产亚洲aⅴ| 国产精品入口夜色视频大尺度| 亚洲国产婷婷综合在线精品| 亚洲第一区色| 久久久久久精| 久久婷婷丁香| 狠狠色丁香婷婷综合| 欧美亚洲在线| 欧美一区二区三区精品电影| 欧美调教vk| 日韩视频永久免费| 中文国产一区| 国产精品久久| 亚洲小视频在线观看| 亚洲一区二区三区精品视频| 欧美日韩一区二区欧美激情| 亚洲三级电影全部在线观看高清| 亚洲精品在线视频| 欧美激情精品久久久久久蜜臀| 亚洲国产成人精品女人久久久 | 99这里只有久久精品视频| 欧美电影美腿模特1979在线看| 欧美激情一区二区三区全黄| 亚洲人成7777| 欧美日韩国语| aa级大片欧美| 欧美一区=区| 国产欧美短视频| 久久激情综合| 亚洲电影免费在线观看| 日韩亚洲欧美高清| 欧美午夜不卡视频| 午夜精品区一区二区三| 久久香蕉国产线看观看av| 亚洲国产精品va在线看黑人| 欧美精品日韩| 亚洲自拍三区| 媚黑女一区二区| 99精品视频免费在线观看| 国产精品成人免费| 久久av免费一区| 亚洲国产精品久久人人爱蜜臀 | 午夜精品网站| 在线免费精品视频| 欧美视频在线视频| 欧美一区二区成人| 亚洲国产乱码最新视频| 午夜一区二区三区在线观看| 永久91嫩草亚洲精品人人| 欧美日韩国产丝袜另类| 午夜精品一区二区三区四区 | 老司机久久99久久精品播放免费| 亚洲国产午夜| 国产精品手机视频| 欧美成人国产| 欧美专区日韩视频| 日韩午夜激情av| 久久久国产精品亚洲一区| 亚洲精品综合在线| 狠狠入ady亚洲精品经典电影| 欧美精品123区| 久久久久国产精品一区| 一区二区三区高清| 亚洲国产一区二区三区高清| 久久久xxx| 亚洲自拍16p| 亚洲三级免费电影| 黄色在线一区| 国产偷久久久精品专区| 欧美理论在线| 女主播福利一区| 久久久最新网址| 欧美在线日韩在线| 亚洲校园激情| 日韩视频在线观看免费| 亚洲电影网站| 欧美va天堂| 久久亚洲欧美| 久久深夜福利免费观看| 亚洲欧美中文另类| 亚洲五月六月| 亚洲无线观看| 亚洲一区二区三区高清不卡| 日韩视频一区二区三区| 亚洲国产精品久久久久婷婷老年| 国产视频精品xxxx| 国产精品久久综合| 国产精品www.| 国产精品h在线观看| 欧美日韩和欧美的一区二区| 欧美二区不卡| 欧美激情一区二区在线 | 香蕉久久夜色精品国产使用方法 | 久久久久国色av免费观看性色| 午夜精品在线| 欧美一区二区视频在线观看2020| 午夜一区在线| 久久精品中文| 久久先锋影音av| 欧美插天视频在线播放| 亚洲成人在线网站| 欧美精品尤物在线| 欧美激情一区二区三区在线视频观看| 久久蜜桃av一区精品变态类天堂| 久久av最新网址| 久久视频精品在线| 欧美激情亚洲精品| 欧美日韩一区二区三区在线视频 | 亚洲二区三区四区| 91久久精品美女高潮| 亚洲精品韩国| 亚洲与欧洲av电影| 久久久久成人精品免费播放动漫| 久久午夜精品一区二区| 亚洲第一主播视频| 亚洲精品欧美| 99精品国产福利在线观看免费| 亚洲视频免费看| 久久久久青草大香线综合精品| 美女网站久久| 欧美日韩精品一区二区天天拍小说| 欧美日韩一区二区三区高清| 国产日韩精品在线观看| 亚洲国产精品女人久久久| 中文在线资源观看网站视频免费不卡| 亚洲欧美综合精品久久成人| 久热国产精品| av成人动漫| 久久久久一本一区二区青青蜜月| 欧美激情精品久久久久久黑人| 国产精品日韩久久久| 亚洲黄色在线| 久久精品久久99精品久久| 亚洲欧洲精品一区二区| 香蕉久久国产| 欧美日韩综合在线| 亚洲电影在线播放| 亚洲欧美精品| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲综合成人婷婷小说| 男女视频一区二区| 国产精品夜夜嗨| 99一区二区| 米奇777超碰欧美日韩亚洲| 亚洲一区二区三区免费观看| 欧美激情一区二区三区| 伊人久久噜噜噜躁狠狠躁| 羞羞答答国产精品www一本| 亚洲第一免费播放区| 久久国产一区|