日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级黄色视 | 懂色av蜜臀av粉嫩av分 | 黄色高清网站 | 亚洲成人网在线播放 | 久久老司机精品视频 | 精品一区二区三区四 | 中国成熟妇女毛茸茸 | 少妇喷潮明星 | 岛国在线视频 | 视频一区二区三区精品 | 欧美视频你懂的 | 日日射av | 国产免费无遮挡吸奶头视频 | 午夜两性网 | 国产a免费观看 | 国产在线一区二区视频 | 国产jzjzjz丝袜老师水多 | 亚洲双插| 国产精品白嫩白嫩大学美女 | www.欧美视频 | 久久一区视频 | 亚洲精品视频在线 | 国产黄在线免费观看 | 国产又粗又猛又爽又黄的网站 | 久久丫精品国产亚洲av不卡 | 国产精品国产 | 国产精品免费一区二区三区 | 女人性做爰69片免费看 | 关秀媚三级 | 69性视频 | 免费国产黄色片 | 成人免费视频软件网站 | 一区二区三区高清在线观看 | 美女张开腿让男人桶爽 | 深爱激情丁香 | 日韩黄色影院 | va婷婷 | 日韩欧美区 | 日本少妇电影 | 成人性生交大片免费看 | 色呦呦一区二区三区 | 久久天天躁狠狠躁夜夜躁 | 在线播放你懂得 | 久久精品导航 | 日本a级片免费 | av片在线观看 | 老司机免费在线视频 | 欧美大片在线免费观看 | 日本一级免费视频 | se在线观看 | 国产v亚洲 | 亚洲综合日韩精品欧美综合区 | 久久精品亚洲 | 国产精品久久综合视频 | 中文字幕偷拍 | 免费看女人裸体 | 激情网五月天 | 亚洲综合久 | 国产日韩精品一区二区 | 国产精品久久久久久人 | 国产在线观看一区二区三区 | 2024男人天堂 | 97se.com| 午夜寂寞剧场 | 91亚洲国产成人精品一区二三 | 精品人妻一区二区三区四区 | 免费在线播放黄色片 | 中文字幕日韩一区二区 | 啪啪一级片 | 国产成人精品网站 | 日韩无| 五月天堂色 | 国产亚洲视频在线 | 久久久999国产 | 911成人网 | 视频国产一区 | 国产男女无遮挡猛进猛出 | 中国亚洲女人69内射少妇 | 欧美成人免费观看视频 | 日本成人免费视频 | 91网站在线观看视频 | 99色综合网 | 操大爷影院 | 亚洲视频一区在线观看 | 国产激情一区二区三区四区 | 国产无套粉嫩白浆内谢 | 四虎在线影院 | 久久亚洲熟女cc98cm | 九草在线| 国产综合第一页 | 日日草夜夜操 | 国产精品一区二区毛片 | 欧美成人午夜免费视在线看片 | 日韩在线色 | 久久久www成人免费无遮挡大片 | 亚洲v国产v欧美v久久久久久 | 播放美国生活大片 | 一级黄色小视频 | 男人的天堂网在线 |