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

pku1261 Huffman Trees 搜索與數(shù)據(jù)結(jié)構(gòu)結(jié)合的好題

題意:
一棵K叉哈弗曼樹,只有中間節(jié)點(滿兒子)和葉節(jié)點兩種。給出1-k的連續(xù)編碼,求出哈弗曼樹的結(jié)構(gòu)。

解法:
首先要清楚,哈弗曼編碼是一種沒有公共前綴的編碼,這提供了很重要的剪枝條件
另外,由于樹中只含有滿節(jié)點和空節(jié)點(葉子節(jié)點),故每分出一個枝條(從葉節(jié)點變?yōu)橐豢米訕洌┲辽僭黾觧-1個葉子節(jié)點。
利用以上兩點,就可以很好的剪枝了。

剪枝判斷還是通過字典樹(額,這題中似乎叫哈弗曼樹比較合適- -)。詳細(xì)看程序吧。

代碼:
 1    # include <cstdio>
 2    # include <cstring>
 3    # include <vector>
 4    using namespace std;
 5    struct node
 6    {
 7        node *nxt[20];
 8        int count;
 9        bool end;
10        node()
11        {
12            memset(nxt,NULL,sizeof(nxt));
13            count=0;
14            end=0;
15        }

16    }
;
17    int z,n,count,len,c;
18    node buffer[100000];
19    node *head;
20    char str[250];
21    int ans[21];
22    void clear(node *p)
23    {
24        memset(p->nxt,NULL,sizeof(p->nxt));
25        p->end=false;
26        p->count=0;
27    }

28    bool solve(int s,int left,node *p)
29    {
30        if(count>z||p->end) return false;
31        if(s==len&&left==0return true;
32        else if(left<=0return false;
33        p->count++;
34        if(p->count==1)
35        {
36            p->end=true;
37            if(solve(s,left-1,head)) 
38                {
39                    ans[z-left+1]=s;
40                    return true;
41                }

42            p->end=false;
43        }

44        if(s==len)
45        {
46            p->count--;
47            return false;
48        }

49        if(p->count==1) count+=n-1;
50        if(p->nxt[str[s]-48]==NULL)
51        {
52            p->nxt[str[s]-48]=&buffer[c++];
53            clear(p->nxt[str[s]-48]);
54        }

55        if(solve(s+1,left,p->nxt[str[s]-48])) return true;
56        if(p->count==1) count-=n-1;
57        p->count--;
58        return false;    
59    }

60    int main()
61    {
62        int test;
63        scanf("%d",&test);
64        while(test--)
65        {
66            c=1;
67            count=1;
68            head=&buffer[0];
69            clear(head);
70            scanf("%d%d%s",&z,&n,str);
71            len=strlen(str);
72            solve(0,z,head);
73            ans[0]=0;
74            for(int i=0;i<z;i++)
75            {
76                printf("%d->",i);
77                for(int j=ans[i];j<ans[i+1];j++)
78                    printf("%c",str[j]);
79                printf("\n");
80            }

81        }

82        return 0;
83    }

posted on 2011-01-11 23:08 yzhw 閱讀(352) 評論(1)  編輯 收藏 引用 所屬分類: searchdata struct

評論

# re: pku1261 Huffman Trees 搜索與數(shù)據(jù)結(jié)構(gòu)結(jié)合的好題 2011-01-11 23:26 yzhw

有一點更正下,不是沒有公共前綴,而是字符的編碼不存在某個編碼是另一個編碼的前綴~  回復(fù)  更多評論   

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導(dǎo)航

統(tǒng)計

公告

統(tǒng)計系統(tǒng)

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品羞羞答答xxdd| 欧美一级淫片aaaaaaa视频| 亚洲图片欧美一区| 亚洲高清不卡在线| 亚洲与欧洲av电影| 一本久久综合| 麻豆成人在线观看| 久久亚洲国产精品一区二区| 欧美日韩亚洲一区二区三区在线观看| 免费黄网站欧美| 国产欧美日韩精品a在线观看| 亚洲国产精品日韩| 黑人巨大精品欧美一区二区小视频 | 亚洲一区免费| 亚洲天堂成人在线视频| 欧美第一黄网免费网站| 免费观看日韩av| 极品尤物av久久免费看 | 亚洲精品女av网站| 国产一区视频观看| 亚洲欧美成人综合| 久久xxxx| 国产日韩欧美夫妻视频在线观看| 一区二区三区视频在线播放| 一本到12不卡视频在线dvd| 欧美二区不卡| 亚洲精品视频一区| 一区二区三区四区国产精品| 欧美日韩国产影片| 亚洲视频观看| 欧美呦呦网站| 狠狠色香婷婷久久亚洲精品| 久久成人一区二区| 欧美成人高清视频| 亚洲日本va午夜在线电影| 女主播福利一区| 亚洲人成网站777色婷婷| 99re热精品| 欧美日韩一区二区高清| 中文一区字幕| 久久婷婷国产综合精品青草| 亚洲国产高潮在线观看| 免费欧美视频| 一区二区91| 久久精品国产亚洲一区二区三区| 国产日韩在线视频| 久久亚洲高清| 99pao成人国产永久免费视频| 亚洲欧美日韩久久精品| 国产一区二区精品久久| 可以看av的网站久久看| 99精品99| 久久亚洲欧美国产精品乐播| 91久久中文| 国产精品日本一区二区| 久久精品1区| 亚洲麻豆av| 久久国产精品久久久久久| 在线精品一区| 欧美色大人视频| 久久久99免费视频| 亚洲精品在线看| 欧美在线视频日韩| 亚洲欧洲精品成人久久奇米网| 欧美性猛交一区二区三区精品| 午夜精品亚洲| 亚洲精品一区中文| 久久不射中文字幕| 99精品免费| 国产亚洲人成网站在线观看 | 久久精品论坛| 99re8这里有精品热视频免费| 久久美女艺术照精彩视频福利播放| 亚洲国产一区视频| 国产视频在线观看一区| 欧美精品激情| 久久国产99| 亚洲无限乱码一二三四麻| 欧美福利一区二区三区| 久久成人av少妇免费| 日韩亚洲国产精品| 国产自产精品| 国产精品你懂的| 欧美韩日一区二区三区| 久久国产精品99国产精| 亚洲午夜精品福利| 亚洲国产日韩欧美综合久久| 久久精品在这里| 欧美一级日韩一级| 亚洲香蕉视频| 日韩亚洲视频| 最新国产成人av网站网址麻豆| 国产一区二区久久| 国产麻豆视频精品| 国产精品对白刺激久久久| 欧美日本韩国一区| 欧美成人在线网站| 欧美成人免费va影院高清| 久久久久久久网站| 欧美一区二区三区四区夜夜大片 | 国产欧美视频一区二区| 欧美日韩一区二区三区在线视频| 两个人的视频www国产精品| 久久九九热re6这里有精品| 欧美一区二区三区四区在线| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 午夜精品一区二区三区在线播放| 99xxxx成人网| 夜夜精品视频一区二区| 亚洲免费激情| 99热这里只有精品8| 亚洲老板91色精品久久| 亚洲精品在线一区二区| 亚洲精品四区| 日韩视频在线免费观看| 亚洲老板91色精品久久| 99re这里只有精品6| 亚洲一区二区三区成人在线视频精品 | 欧美怡红院视频| 久久www成人_看片免费不卡 | 香蕉久久国产| 欧美一区成人| 久久久久国产免费免费| 老司机凹凸av亚洲导航| 欧美成人蜜桃| 91久久亚洲| 亚洲视频一区二区| 性久久久久久久久| 久久亚洲精选| 欧美精品福利| 国产精品视频一二三| 国产一区二区三区不卡在线观看| 国产一区二区三区四区在线观看 | 亚洲日本在线观看| 一区二区日韩免费看| 午夜精品国产更新| 久久一区精品| 亚洲国产精品高清久久久| 中日韩午夜理伦电影免费| 午夜精品国产精品大乳美女| 久久这里有精品视频 | 欧美成ee人免费视频| 欧美色精品天天在线观看视频| 国产精品一级二级三级| 亚洲国产精品久久久久婷婷884| 99热这里只有精品8| 欧美在线中文字幕| 亚洲第一精品福利| 亚洲欧美一区二区三区在线| 久久深夜福利| 国产精品久久久久天堂| 一区在线影院| 亚洲一区久久久| 麻豆av一区二区三区久久| 亚洲精选大片| 久久亚洲欧美| 国产麻豆视频精品| 日韩视频在线观看一区二区| 久久精品国产一区二区三区| 亚洲经典一区| 久久久久se| 国产精品视频yy9099| 亚洲精品乱码久久久久久日本蜜臀| 午夜精品视频在线| 亚洲电影免费观看高清完整版在线| 亚洲综合成人婷婷小说| 欧美日韩日韩| 亚洲人人精品| 美女网站在线免费欧美精品| 在线综合+亚洲+欧美中文字幕| 狂野欧美激情性xxxx欧美| 国产色爱av资源综合区| 亚洲一区二区综合| 亚洲精品一区二区三| 免播放器亚洲一区| 国产在线拍揄自揄视频不卡99| 亚洲一区二区三区高清| 亚洲国产精品久久久久秋霞蜜臀| 久久国内精品自在自线400部| 欧美日韩亚洲高清一区二区| 亚洲欧洲综合另类| 免费一级欧美片在线播放| 午夜在线视频观看日韩17c| 国产精品a久久久久久| 中文精品视频一区二区在线观看| 欧美电影免费观看高清| 久久久女女女女999久久| 国产一区二区三区在线观看视频| 小嫩嫩精品导航| 亚洲一区欧美一区| 国产精品卡一卡二| 亚洲欧美一区二区精品久久久| 亚洲精品一区二区网址 | 开心色5月久久精品| 在线观看亚洲精品视频| 免费视频一区二区三区在线观看| 欧美一区二区视频97| 激情综合视频| 欧美成年人网站| 看片网站欧美日韩|