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

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>
            国产亚洲人成a一在线v站 | 欧美日精品一区视频| 99国产精品99久久久久久粉嫩| 亚洲国产天堂久久国产91| 久久蜜臀精品av| 久久一二三国产| 欧美电影免费网站| 亚洲国产精品久久久久秋霞不卡| 亚洲国产精品日韩| 亚洲一区在线观看视频| 欧美一区二区三区久久精品茉莉花 | 国产在线视频欧美一区二区三区| 国产亚洲综合在线| 一区二区在线视频观看| 亚洲黄色三级| 亚洲一级影院| 久久久久久久一区二区| 欧美激情aⅴ一区二区三区 | 欧美亚洲一级| 欧美承认网站| 国产精品乱码| 在线观看成人一级片| 在线视频你懂得一区| 久久人91精品久久久久久不卡| 91久久精品美女| 欧美在线高清视频| 欧美日韩ab| 怡红院精品视频在线观看极品| 亚洲免费观看高清完整版在线观看熊| 欧美亚洲综合另类| 亚洲人精品午夜在线观看| 欧美在线免费| 国产精品激情电影| 亚洲国内自拍| 久久精品论坛| 亚洲视频一区二区免费在线观看| 美女免费视频一区| 欧美肉体xxxx裸体137大胆| 中文在线资源观看网站视频免费不卡| 欧美亚洲一区在线| 欧美日韩三级一区二区| 亚洲黄色一区| 久久资源av| 亚洲一二三级电影| 欧美日韩精品久久| 亚洲日韩欧美视频| 免费不卡在线观看| 香蕉久久国产| 国产精品美女久久福利网站| 99re国产精品| 91久久综合| 欧美成人国产一区二区| 在线免费日韩片| 久久躁日日躁aaaaxxxx| 欧美一站二站| 国产亚洲欧美日韩精品| 欧美一区二区三区的| 一本色道久久加勒比88综合| 欧美久久视频| 亚洲精品一区二区三区四区高清 | 精品动漫3d一区二区三区免费| 性欧美暴力猛交另类hd| 在线中文字幕不卡| 国产精品成人免费精品自在线观看| 亚洲乱码日产精品bd| 亚洲国产精品传媒在线观看 | 久久综合狠狠综合久久综合88| 黑丝一区二区| 欧美大片一区| 模特精品裸拍一区| 亚洲精品一区久久久久久| 亚洲激情社区| 欧美日韩一视频区二区| 亚洲男女自偷自拍图片另类| 亚洲综合色自拍一区| 国产精品女主播| 久久精品女人| 裸体女人亚洲精品一区| 亚洲老板91色精品久久| 夜夜精品视频一区二区| 国产精品夜夜嗨| 久久一二三四| 久久综合国产精品台湾中文娱乐网| 午夜久久久久久久久久一区二区| 国内精品写真在线观看| 欧美福利小视频| 欧美视频在线播放| 久久国产精品亚洲va麻豆| 久久久久久亚洲精品中文字幕| 亚洲欧洲精品一区二区三区不卡| 亚洲乱码国产乱码精品精可以看| 久久久精品国产免费观看同学| 欧美日韩国产色综合一二三四| 夜夜爽www精品| 一本大道久久a久久精品综合| 国产精品狠色婷| 久久久久国产一区二区三区四区 | 看片网站欧美日韩| 亚洲视频视频在线| 欧美在线二区| 在线视频欧美精品| 欧美影院视频| 亚洲一区在线看| 久久久噜噜噜久久中文字免| 一区二区国产精品| 久久精品国产欧美激情| 一本大道久久a久久精二百| 午夜免费日韩视频| 一区二区毛片| 久久深夜福利免费观看| 亚洲影院色在线观看免费| 久久久国产视频91| 亚洲一区在线免费| 免费欧美日韩国产三级电影| 欧美在线视频在线播放完整版免费观看| 美日韩精品视频| 久久激五月天综合精品| 欧美日韩国产综合视频在线观看| 狂野欧美激情性xxxx| 国产精品在线看| 亚洲美女毛片| 亚洲国产精彩中文乱码av在线播放| 亚洲伊人色欲综合网| 一本色道88久久加勒比精品| 免费日韩成人| 免费中文字幕日韩欧美| 国产亚洲电影| 亚洲欧美日韩国产成人精品影院| 亚洲视频专区在线| 欧美女激情福利| 亚洲韩国青草视频| 亚洲福利在线看| 久久久久久综合网天天| 欧美日韩在线视频观看| 亚洲日本黄色| 亚洲美女精品一区| 免费日韩成人| 亚洲电影专区| 亚洲精品久久久久中文字幕欢迎你| 久久久成人精品| 欧美va天堂| 亚洲精品国产精品国自产在线| 蜜臀久久久99精品久久久久久| 欧美黄色一级视频| 亚洲精品一区二区在线| 欧美激情日韩| 99视频一区二区三区| 一区二区三区成人| 欧美亚日韩国产aⅴ精品中极品| 亚洲图片欧美一区| 欧美在线电影| 影院欧美亚洲| 牛牛国产精品| 久久久夜夜夜| 在线日韩欧美视频| 久久综合伊人77777麻豆| 欧美99久久| 亚洲国产美女精品久久久久∴| 久久综合色播五月| 亚洲国产精品va在线看黑人| 日韩亚洲欧美一区| 欧美日韩精品一区二区三区四区| 日韩亚洲欧美成人| 午夜视频在线观看一区| 国产亚洲精品久| 嫩草伊人久久精品少妇av杨幂| 亚洲美女电影在线| 久久www成人_看片免费不卡| 在线免费观看日本欧美| 久久精品一区四区| 国产情人综合久久777777| 国产伦精品一区二区三区高清| 一区二区三区免费观看| 久久精品国产成人| 最近看过的日韩成人| 国产精品成人一区二区三区吃奶 | 一本久久a久久精品亚洲| 欧美性片在线观看| 久久免费视频在线| 亚洲精品一区二区在线| 欧美在线一二三四区| 亚洲黄色在线视频| 国产日韩精品一区二区浪潮av | 国产日韩欧美中文在线播放| 另类av一区二区| 亚洲在线第一页| 亚洲欧洲综合| 久久亚洲一区二区| 亚洲专区在线视频| 亚洲精品国精品久久99热一| 国产一本一道久久香蕉| 欧美日韩伦理在线免费| 久久综合色一综合色88| 午夜久久久久久久久久一区二区| 亚洲欧美区自拍先锋| 亚洲欧美在线另类| 亚洲欧洲另类国产综合| 国产精品入口夜色视频大尺度 | 国产精品久久久久久久久久久久久久 | 国产午夜精品久久久久久久|