UVa 10954 全部相加(Huffman編碼)

https://vjudge.net/problem/UVA-10954

題意:有n個數的集合S,每次可以從S中刪除兩個數,然后把它們的和放回集合,直到剩下一個數。每次操作的開銷等于刪除的兩個數之和,求最小開銷。

思路:Huffman編碼。

 1 #include<iostream> 
 2 #include<queue>
 3 using namespace std;
 4 
 5 struct cmp
 6 {
 7     bool operator()(const int a, const int b) const
 8     {
 9         return a > b;
10     }
11 };
12 
13 int main()
14 {
15     //freopen("D:\\txt.txt", "r", stdin);
16     int n;
17     while (cin >> n && n)
18     {
19         priority_queue<int,vector<int>,cmp> q;
20         int ans = 0, a;
21         for (int i = 0; i < n; i++)
22         {
23             cin >> a;
24             q.push(a);
25         }
26         for (int i = 0; i < n - 1; i++)
27         {
28             int b = q.top(); q.pop(); 
29             int c = q.top(); q.pop();  
30             q.push(b + c);
31             ans += b + c;
32         }
33         cout << ans << endl;
34     }
35     return 0;
36 }

?

轉載于:https://www.cnblogs.com/zyb993963526/p/6357336.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371602.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371602.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371602.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

serialVersionUID的作用以及如何用idea自動生成實體類的serialVersionUID

轉載&#xff1a;http://blog.csdn.net/liuzongl2012/article/details/45168585 serialVersionUID的作用&#xff1a; 通過判斷實體類的serialVersionUID來驗證版本一致性的。在進行反序列化時&#xff0c;JVM會把傳來的字節流中的serialVersionUID與本地相應實體類的serialVer…

js post方式請求另外一個php,利用JS使用POST方式提交請求的方法(結合代碼詳細解答)...

下面是我給大家整理的利用JS使用POST方式提交請求的方法&#xff0c;有興趣的同學可以去看看。一般都是寫上隱藏的form標簽&#xff0c;用來調用js函數然后submit全部用js來寫也行&#xff0c;以下是我在一個問答頻道看見別人寫的例子&#xff0c;放在這里function post(URL, P…

JBoss BRMS最佳實踐– BPM流程初始化層的提示

我過去發布過一些有關遷移策略的文章&#xff0c;仔細研究了流程層&#xff0c;并提供了一些有關jBPM的最佳實踐 &#xff0c;它們都涉及到BPM策略的非常具體的部分。 我想重新討論最佳實踐的主題&#xff0c;然后在智能集成企業級別上&#xff0c;我們討論使用JBoss BRMS對您的…

寒假作業二:匯總隨筆

隨筆一&#xff1a;解題思路隨筆二&#xff1a;自學計劃 轉載于:https://www.cnblogs.com/mercuialC/p/6359997.html

跨站點腳本(XSS)和預防

如OWASP網站&#xff08;https://www.owasp.org/index.php/Cross-site_Scripting_(XSS&#xff09;&#xff09;所述&#xff0c;跨站點腳本&#xff08;XSS&#xff09;攻擊的變種幾乎是無限的。 在這里&#xff0c;我建議使用基于Servlet篩選器的解決方案來清理HTTP請求。 攻…

NoSQL入門第一天——NoSQL入門與基本概述

一、課程大綱 二、入門概述 1.為什么用NoSQL 單機MySQL的年代&#xff1a; 一個網站的訪問量一般都不大&#xff0c;用單個數據庫完全可以輕松應付。      我們來看看數據存儲的瓶頸是什么&#xff1f;        1.數據量的總大小 一個機器放不下時。&#xff08;現…

隨機森林特征個數mtry matlab,基于隨機森林的特征選擇算法

2.1 算法描述本文提出了一種基于隨機森林的Wrapper特征選擇方法RFFS,利用隨機森林算法的變量重要性度量對特征進行排序,然后采用序列后向搜索方法,每次從特征集合中去掉一個最不重要(重要性得分最小)的特征,逐次進行迭代,并計算分類正確率,最終得到變量個數最少、分類正確率最高…

matlab循環讀取變量,Matlab for 多個變量循環能不能這樣啊 ,求教高手!!!!

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓for a0.003:0.0005:1; b0.002:0.0005:0.9; c0.001:0.0005:0.8;d0.0005:0.0005:0.7;E1a* E_Bone;E2b* E_Bone;E3c* E_Bone;E4d* E_Bone;G1a* G_Bone;G2b* G_Bone;G3c* G_Bone;G4d* G_Bone;%% Integration for cortical bone partsIn…

UVA - 10384 The Wall Pusher(推門游戲)(IDA*)

題意&#xff1a;從起點出發&#xff0c;可向東南西北4個方向走&#xff0c;如果前面沒有墻則可走&#xff1b;如果前面只有一堵墻&#xff0c;則可將墻向前推一格&#xff0c;其余情況不可推動&#xff0c;且不能推動游戲區域邊界上的墻。問走出迷宮的最少步數&#xff0c;輸出…

JavaOne 2012:JavaOne技術主題演講

Mark Reinhold從JavaOne 2012技術主題演講開始。 他說&#xff0c;今年的版本將有所不同&#xff0c;因為它將使用大致相同的示例來說明Java的各個方面&#xff0c;而不是對Java的每個組件進行單獨的單獨介紹。 JavaFX團隊的Richard Bair和Jasper Potts &#xff08;并與FXExpe…

C語言結構體及函數傳遞數組參數演示樣例

C語言結構體及函數傳遞數組參數演示樣例 注&#xff1a;makeSphere()函數返回Sphere結構體&#xff0c;main函數中。調用makeSphere()函數&#xff0c;傳遞的第一個參數為數組&#xff0c;傳遞的數組作為指針。posted on 2017-07-30 18:42 mthoutai 閱讀(...) 評論(...) 編輯 收…

Maven內部版本號插件–用法示例

假設我們需要向一些工件&#xff08;jar&#xff0c;war等&#xff09;添加內部版本號。 在這里&#xff0c;我想演示buildnumber-maven-plugin的用法。 這篇文章基于&#xff1a; http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html http://www.site.lalitbhatt…

Python魔法方法(magic method)細解幾個常用魔法方法(下)

接上文&#xff0c;再介紹最后幾個常用的魔法方法。 關于__dict__: 先上個例子&#xff1a; class Test(object):fly Truedef __init__(self, age):self.age age __dict__魔法方法可以被稱為系統&#xff0c;他是存儲各分層屬性的魔法方法。__dict__中&#xff0c;鍵為屬性名…

AIX下RAC搭建 Oracle10G(六)dbca建庫

AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G&#xff08;六&#xff09;dbca建庫 環境 節點 節點1 節點2 小機型號 IBM P-series 630 IBM P-series 630 主機名 AIX203 AIX204 交換機 SAN光纖交換機 存儲 SAN T3存儲 大綱流程例如以下&#xff1a; 第一部分&#xff1…

php string slice,substring()與str.slice()區別

當接收的參數是負數時&#xff0c;slice會將它字符串的長度與對應的負數相加&#xff0c;結果作為參數&#xff1b;substr則僅僅是將第一個參數與字符串長度相加后的結果作為第一個參數&#xff1b;substring則干脆將負參數都直接轉換為0。測試代碼如下&#xff1a;var test h…

JavaOne 2012:掌握Java部署

在吃完一次JavaClass 2012午餐會的意大利經典組合后&#xff0c;我前往希爾頓帝國宴會廳B觀看了演示“掌握Java部署”。 來自Oracle的發言人是Mark Howe和Igor Nekrestyano Howe表示&#xff0c;部署團隊的目標是幫助Java開發人員將其應用程序部署到所選平臺。 他首先討論了“功…

數組刪除奇數編號的數據求最后的元素

//abcd...s 這19個字符循環106次成一個長度2014的字符串&#xff0c;然后刪除第奇數個&#xff0c;得到小串&#xff0c;再刪&#xff0c;最后的字符是&#xff1f; #define _CRT_SECURE_NO_DEPRECATE #include<stdio.h> #include<windows.h> #include<string.…

php 提高吞吐量,如何提高網站的吞吐量

吞吐量定義百科吞吐量是指對網絡、設備、端口、虛電路或其他設施&#xff0c;單位時間內成功地傳送數據的數量(以比特、字節、分組等測量)。以上的定義比較寬泛&#xff0c;定義到網站或者接口的吞吐量是這樣的&#xff1a;吞吐量是指系統在單位時間內處理請求的數量。這里有一…

ubuntu下如何查找某個文件的路徑

1.whereis 文件名 特點:快速,但是是模糊查找,例如 找 #whereis mysql 它會把mysql,mysql.ini,mysql.*所在的目錄都找出來. 2.find / -name 文件名 特點:準確,但速度慢,消耗資源大,例如我想找到PHP.ini的準確位置,就需要用 #find / -name php.ini 3.locate 文件名 強力推薦的方…

事件的學習

1.鼠標單擊事件( onclick &#xff09;: onclick是鼠標單擊事件&#xff0c;當在網頁上單擊鼠標時&#xff0c;就會發生該事件。同時onclick事件調用的程序塊就會被執行&#xff0c;通常與按鈕一起使用。 <!DOCTYPE HTML> <html> <head> <meta http-equiv…