日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hoj2677 Instruction Set // poj3253Fence Repair 哈夫曼树

發(fā)布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hoj2677 Instruction Set // poj3253Fence Repair 哈夫曼树 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

/*

哈弗曼編碼,比如權值為 a:1 b:1 c:2 d:3 e:5 f:6 的樹

?? 1.開始時由最小的兩個數(shù) a:1 b:1組成一棵樹

?? 2.接著由新的最小的兩個數(shù) 2 c:2 d:3 e:5 f:6 中的 2 c:2組成新的樹

?? 3.接著由最小的兩個數(shù) 4 d:3 組成新的樹

?? 4.接著由最小的兩個數(shù) e:5 f:6 組成一棵樹

?? 5.接著由最小的兩個數(shù) 7 11 組成一棵樹(最終形成)

?? 6.算最小的編碼總長:= 18 + 7 + 11 + 4 + 2 = 42

?

?? 2??????? 4????????? ?7??????? 11????????? 18

? ?/ \??? ?? / \??? ?? / \??? ?? /? \????? ?? /? \

? a?? b????2?? c?? ? 4?? d???e??? f???? ? 7?? 11

??????? ? ?/ \??????? ?/ \???????????????????/ \? / \

?????? ?? a?? b???? ?2? c?????????????????4? d? e? f

??????????????? ?? ?/ \??????????????? ?? ?/ \

??????????????? ? ?a?? b?????????????? ? 2?? c

???????????????????????????????????? ?? ?/ \

???????????????????????????????????? ?? a?? b

?

可以用優(yōu)先隊列做,優(yōu)先隊列每次插入都是插入到排完序后的隊列數(shù)組中(可能不是很準確),

當還沒開始建樹時,把出現(xiàn)的次數(shù)進隊,當開始建樹時,每次調(diào)用頭兩個數(shù)據(jù)a和b,然后把兩個數(shù)據(jù)

相加后,再次進隊,同時優(yōu)先隊列會進行排序,并且每次ans += a+b,最終答案即為ans

*/

?

#include <iostream>

#include <string>

#include <queue>

#include <vector>

using namespace std;

string s;

int main()

{

?? freopen("sum.in","r",stdin);

?? freopen("sum.out","w",stdout);

?? int n,command;

?? while(cin>>n)

?? {

????? priority_queue<int ,vector<int>,greater<int> > q; //注意,此處> >是有空格的

????? int worst = 0,ans = 0;

????? for(int i=0;i<n;i++)

????? {

???????? cin>>s>>command;

???????? worst+=command*s.size();??? //最壞情況需要的空間

???????? q.push(command);??????????? //把數(shù)據(jù)進隊

????? }

????? int a,b;

????? if(q.size()==1)??????????????? //當之有一個串時

???????? ans = q.top();

????? while(true)

????? {

???????? a = q.top();

???????? q.pop();

???????? if(q.empty())?? //只剩下一個根節(jié)點,就已經(jīng)構成了一棵樹

??????????? break;

???????? b = q.top();

???????? q.pop();

???????? ans+=a+b;?? //答案

???????? q.push(a+b); //把新生成的樹的權值進隊

????? }

????? cout<<worst<<" "<<ans<<endl;

?? }

?? return 0;

}

?

poj3253Fence Repair

#include <iostream>

#include <queue>

#include <vector>

using namespace std;

int main()

{

?? freopen("sum.in","r",stdin);

?? freopen("sum.out","w",stdout);

?? int n,t,a,b;

?? while(cin>>n)

?? {

????? long long ans = 0;??? //要為long long型才不會WA

????? priority_queue<int ,vector<int>,greater<int> > q;

????? for(int i=0;i<n;i++)

????? {

???????? cin>>t;

???????? q.push(t);

????? }

????? if(q.size()==1)

???????? ans = q.top();

????? while(q.size()>1)

????? {

???????? a = q.top();

???????? q.pop();

???????? b = q.top();

???????? q.pop();

???????? ans += a+b;

???????? q.push(a+b);

????? }

????? cout<<ans<<endl;

?? }

?? return 0;

}

?

?

轉載于:https://www.cnblogs.com/yejinru/archive/2012/03/21/2410367.html

總結

以上是生活随笔為你收集整理的hoj2677 Instruction Set // poj3253Fence Repair 哈夫曼树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 自拍第1页| 欧美大片在线观看 | 台湾佬美性中文 | 久久精品国产亚洲av麻豆色欲 | 免费毛片在线播放免费 | 岛国av毛片 | 日日碰狠狠添天天爽无码 | 日韩精品一区在线播放 | 性喷潮久久久久久久久 | 午夜精品久久久久 | 北条麻妃一区二区三区在线观看 | 日本福利在线观看 | 成人性生交大片免费卡看 | 五月天狠狠干 | 国产精品一级二级三级 | 女优一区二区三区 | 99福利视频导航 | 欧美a一级片| 国内精品久久久久久 | 熟睡侵犯の奶水授乳在线 | 免费网站观看www在线观看 | 亚洲国产精品成人无久久精品 | 人妻丰满熟妇aⅴ无码 | 国产视频一二三区 | 国产亚洲欧美在线视频 | 久久撸视频 | 男受被做哭激烈娇喘gv视频 | 精品一区二区三区av | 韩国三级hd中文字幕叫床浴室 | 又大又粗欧美黑人aaaaa片 | 人体内射精一区二区三区 | 亚洲乱码视频 | 日韩在线不卡 | 51啪影院 | 亚洲影院一区 | 日本一区二区三区视频在线观看 | 极品美女无套呻吟啪啪 | 国产对白videos麻豆高潮 | 欧美mv日韩mv国产网站 | 国产精品免费一区二区三区在线观看 | 在线看污片 | 姝姝窝人体www聚色窝 | 久久国内偷拍 | 精品在线99| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产精品老熟女一区二区 | 97成人人妻一区二区三区 | 成年精品 | 人人澡人人看 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 国产青草 | 亚洲国产一二 | 欧美成人性色 | 小视频在线播放 | 制服诱惑一区二区 | 中文字幕+乱码+中文乱码www | 91视频中文字幕 | 久草视频免费在线观看 | 久久精品免费网站 | 久久久老熟女一区二区三区91 | 999热| 成人黄色短片 | 国产一级免费看 | 日韩美女黄色 | 欧美老女人视频 | 色网av| 精品日韩一区 | 亚洲人成一区 | 青青啪啪 | 手机在线一区二区 | 三级伦理片 | 免费成人电影在线观看 | 伊人日本 | 99riav3国产精品视频 | 中文字幕在线观看视频一区 | 国产一区二区三区久久 | 午夜免费福利影院 | 成人福利视频在线观看 | 欧美黑人又粗又大又爽免费 | 少妇高潮视频 | 国产视频综合 | 日韩av在线播放一区 | 老司机久久精品视频 | 日韩免费视频一区二区视频在线观看 | 欧美三区在线观看 | 操伊人 | 欧美在线视频第一页 | 狠狠干in| 少妇特黄a一区二区三区 | 国产一级片在线 | 91在线精品入口 | 亚洲一区二区三区高清在线 | 欧美69久成人做爰视频 | 日韩视频免费观看高清完整版在线观看 | 成年人国产 | 午夜亚洲av永久无码精品 | 香蕉在线播放 | 免费看欧美成人a片无码 | 人人澡人人爱 |