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

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 閱讀(2165) 評論(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>
            免费观看成人鲁鲁鲁鲁鲁视频| 亚洲午夜性刺激影院| 欧美影院成人| 国产偷国产偷精品高清尤物| 久久精品国产免费看久久精品| 欧美一区二区私人影院日本 | 免费在线亚洲欧美| 久久久一区二区| 亚洲人www| 夜夜夜精品看看| 国产日韩av高清| 中文一区二区| 一区二区三区日韩在线观看| 国产女优一区| 欧美成人一区二区| 欧美日韩高清不卡| 欧美亚洲日本国产| 久久免费视频这里只有精品| 亚洲美洲欧洲综合国产一区| 中日韩美女免费视频网址在线观看| 国产乱子伦一区二区三区国色天香| 久久久久久久久久久一区| 免费久久99精品国产| 亚洲一区二区三区乱码aⅴ| 性8sex亚洲区入口| 亚洲人成网站影音先锋播放| 一区二区三区欧美日韩| 在线观看欧美黄色| 日韩一级裸体免费视频| 黄色精品一区| 在线一区视频| 亚洲国产乱码最新视频| 亚洲一线二线三线久久久| 1024亚洲| 性欧美大战久久久久久久久| 日韩亚洲欧美成人一区| 久久成人综合视频| 亚洲天堂男人| 欧美国产综合视频| 老色鬼精品视频在线观看播放| 欧美色图五月天| 欧美黄色精品| 黄色成人片子| 欧美亚洲一区二区在线| 亚洲少妇自拍| 欧美福利视频在线| 男女精品网站| 国产一区二区三区日韩欧美| 亚洲老板91色精品久久| 亚洲精品国产精品国自产在线| 久久aⅴ国产紧身牛仔裤| 亚洲男人的天堂在线| 欧美日韩免费观看一区=区三区| 欧美一区二区三区在线看| 免费观看亚洲视频大全| 欧美一级淫片aaaaaaa视频| 中日韩美女免费视频网址在线观看 | 久久精品国产亚洲精品| 欧美日韩喷水| 亚洲伦理久久| 制服丝袜激情欧洲亚洲| 欧美日韩八区| 亚洲另类黄色| 亚洲影院在线观看| 国产精品进线69影院| 夜夜精品视频一区二区| 亚洲一区在线看| 国产精品久久久久久久久久妞妞| 日韩亚洲不卡在线| 这里只有精品视频在线| 欧美日韩国产一级片| 欧美大片免费观看| 亚洲激情另类| 欧美久久久久免费| 亚洲六月丁香色婷婷综合久久| 在线一区欧美| 国产精品一区二区男女羞羞无遮挡| 亚洲无线视频| 久久精彩视频| 亚洲高清久久久| 欧美精品色网| 亚洲一区二区三区免费在线观看 | 国产情人节一区| 久久精品一区二区国产| 亚洲高清久久| 中文国产一区| 国产精品久久久久一区| 欧美一级片久久久久久久| 欧美大片免费| 亚洲综合视频在线| 激情视频一区| 欧美日韩成人激情| 亚洲欧美影院| 亚洲二区免费| 欧美一区中文字幕| 一区二区在线视频| 欧美激情综合五月色丁香| 国产精品99久久久久久www| 久久亚洲精品中文字幕冲田杏梨| 亚洲日韩第九十九页| 国产精品一二一区| 欧美大片91| 性欧美超级视频| 亚洲人成精品久久久久| 久久国内精品自在自线400部| 亚洲国产婷婷综合在线精品| 国产精品白丝jk黑袜喷水| 久久精品亚洲精品| 亚洲视频综合在线| 欧美高清免费| 久久久久九九视频| 亚洲视频在线看| 亚洲福利av| 国产亚洲精品综合一区91| 欧美日韩国产探花| 久久亚洲综合色| 午夜精品久久| 亚洲精选成人| 欧美大学生性色视频| 久久www成人_看片免费不卡 | 欧美日韩一区二区视频在线| 久久高清国产| 亚洲午夜视频在线观看| 亚洲黄色在线看| 老司机精品福利视频| 欧美有码在线视频| 亚洲一区bb| 99re这里只有精品6| 伊人婷婷久久| 国产丝袜一区二区| 国产精品嫩草99a| 欧美日韩综合精品| 欧美韩国日本一区| 鲁鲁狠狠狠7777一区二区| 性欧美8khd高清极品| 亚洲一区二区三区视频| 亚洲视频在线观看视频| 99re6这里只有精品视频在线观看| 欧美国产另类| 欧美成人网在线| 美女主播精品视频一二三四| 久久综合久久美利坚合众国| 久久久综合网| 免费成人你懂的| 男女激情久久| 亚洲缚视频在线观看| 欧美国产另类| 亚洲日本va在线观看| 亚洲另类自拍| 亚洲一区二区在线播放| 亚洲欧美日韩一区二区在线| 亚洲欧美日韩国产精品 | 亚洲品质自拍| 亚洲精品黄网在线观看| 一级日韩一区在线观看| 亚洲综合色噜噜狠狠| 亚洲欧美在线免费观看| 欧美中文字幕不卡| 久久亚洲一区二区| 欧美电影免费网站| 欧美日韩在线播放一区| 国产精品视频网| 精品成人久久| 日韩亚洲欧美中文三级| 亚洲免费在线| 久久亚洲捆绑美女| 亚洲国产高清在线| 一本色道久久99精品综合| 亚洲欧美日韩精品久久亚洲区| 性色av一区二区三区| 狂野欧美一区| 欧美色精品天天在线观看视频 | 欧美成人性网| 国产精品国色综合久久| 伊人久久男人天堂| 一区二区三区视频在线看| 欧美伊人久久久久久午夜久久久久| 玖玖玖免费嫩草在线影院一区| 亚洲精品极品| 久久精品中文字幕一区二区三区| 欧美福利电影网| 国产亚洲精品bt天堂精选| 亚洲精品国产精品国自产观看浪潮| 亚洲亚洲精品在线观看| 美日韩精品视频免费看| 一区二区免费在线视频| 久久久国产成人精品| 欧美午夜宅男影院| 在线成人av| 欧美自拍偷拍| 日韩亚洲成人av在线| 久久久精品tv| 国产日韩欧美亚洲| 亚洲午夜久久久久久尤物 | 另类av一区二区| 99视频精品免费观看| 欧美xx视频| 精品电影一区| 久久久精品日韩| 亚洲欧美日本伦理|