1. 程式人生 > >NOJ 機器狗組裝費用 (優先權佇列)

NOJ 機器狗組裝費用 (優先權佇列)

機器狗組裝費用

時間限制(普通/Java) : 1500 MS/ 4500 MS          執行記憶體限制 : 65536 KByte
總提交 : 490            測試通過 : 166

題目描述

sed同學最近迷上了製造機器狗,購置了大量所需零件,零件可以組裝為一個元件,這些元件或零件又可以組裝為一個大的元件。在製造機器狗中,元件或零件只能兩兩進行組裝,組裝的順序任意。在機器狗中,每個零件都有一個組裝成本,每次組裝一個元件的費用為各個零件組裝成本之和。給定各個零件組裝成本(單位為元),你的任務是幫助sed計算他至少花費多少費用。

輸入

第一行包括一個整數N,表示機器狗零件數(1≤N≤10000)

第二行為N個正整數,表示每個機器狗零件組裝成本(單位為元),整數之間用空格隔開。

輸出

輸出僅一行,即機器狗組裝的最少費用。

注意:輸出部分的結尾要求包含一個多餘的空行。

樣例輸入

10
1 2 3 4 5 6 7 8 9 0

樣例輸出

136

題目來源

“IBM南郵杯”個人賽2009

題目分析:裸優先權佇列,優先權為從小到大,每次取最小的兩個出隊相加累計並把和入隊,直到佇列中只有一個元素

#include <cstdio>
#include <queue>
using namespace std;
int const MAX = 1e5 + 5;

struct cmp
{
    bool operator()(int a, int b)
    {
        return a > b;
    }
};

priority_queue <int, vector<int>, cmp> q;

int main()
{
    int n, get;
    scanf("%d", &n);
    for(int i = 0; i < n; i++)
    {
        scanf("%d", &get);
        q.push(get);
    }
    int ans = 0;
    while(q.size() != 1)
    {
        int tmp1 = q.top();
        q.pop();
        int tmp2 = q.top();
        q.pop();   
        int tmp = tmp1 + tmp2;
        ans += tmp;
        q.push(tmp);
    }
    printf("%d\n", ans);
}



相關推薦

NOJ 機器組裝費用 (優先權佇列)

機器狗組裝費用 時間限制(普通/Java) : 1500 MS/ 4500 MS          執行記憶體限制 : 65536 KByte 總提交 : 490            測試通過

noj 1076 機器組裝費用(優先佇列

機器狗組裝費用 時間限制(普通/Java) : 1500 MS/ 4500 MS          執行記憶體限制 : 65536 KByte 總提交 : 491            測試通過 :

NOJ1076機器組裝費用——詭異的執行時間

機器狗組裝費用 Time Limit(Common/Java):1500MS/4500MS          Memory Limit:65536KByte Total Submit:402    

NOJ1076 機器組裝費用 貪心

題目描述 sed同學最近迷上了製造機器狗,購置了大量所需零件,零件可以組裝為一個元件,這些元件或零件又可以組裝為一個大的元件。在製造機器狗中,元件或零件只能兩兩進行組裝,組裝的順序任意。在機器狗中,每個零件都有一個組裝成本,每次組裝一個元件的費用為各個零件組裝成本之和。給定

南郵-1076-機器組裝費用

                                          機器狗組裝費用 時間限制(普通/Java):1500MS/4500MS          執行記憶體限制:65536

未來流行遛機器,也許能解決城市寵物背後的矛盾

  文 |易敏 來源 | 智慧相對論(ID:aixdlun)   近日,當紅女星陳紫函在今日頭條上發帖:“朋友圈都炸了鍋了,多少人心裡為此難受流淚、氣憤,可是又能怎麼辦呢?杭州你讓人心寒……”   據悉,這是因為杭州、成都發布市區限狗令,將

收容所(使用佇列實現)

1. 問題描述: 有家動物收容所只收留貓和狗,但有特殊的收養規則,收養人有兩種收養方式, 第一種為直接收養所有動物中最早進入收容所的, 第二種為選擇收養的動物型別(貓或狗),並收養該種動物中最早進入收容所的。 給定一個操作序列int[][2] ope(C++中為vector<vecto

java最小堆實現優先權佇列和求最大的n個數問題

堆在實現優先權佇列和求最大最小的n個數問題上,有著莫大的優勢! 對於最大堆和最小堆的定義此處不再贅述,課參考網上文章:http://blog.csdn.net/genios/article/details/8157031 本文主要是對最小堆進行實現和應用,僅供新手參考。

機器人遛機器,估計不久能看到了

(點選上方公眾號,可快速關注)在 5 月 10 日之前,波士頓動力家的機器人,最近的兩大新聞是:

機器淺析磁碟還原穿越技術(第一代到目前的第三代)

從機器狗淺析磁碟還原穿越技術 本文首先感謝女王提供的無數資料和code ,非常感謝。 磁碟保護驅動工作在檔案過濾系統之下,磁碟過濾驅動(disk.sys)之上 將上層對於磁碟的訪問定位到自己的處理過程 如圖所示 最新版本的狙劍提供了檢視功能,我的系統安裝了nod32 因此有一

程式設計4:貓佇列

<?php header("content-type:text/html;charset=utf-8"); /* *貓狗佇列 P10 */ class Pet { public $type; public function __construct($type) {

java佇列練習 - 貓佇列

萌新最近在練習佇列,用貓狗佇列練習一下 要求摘自https://www.cnblogs.com/xiyuan2016/p/6810256.html 使用者可以呼叫add方法將cat類或者dog類的例項放入佇列中; 使用者可以呼叫pollAll方法,將佇列中所有的例項按照佇列的先後

機器學習工程師 - Udacity 專案:實現一個品種識別演算法App

在這個notebook中,你將邁出第一步,來開發可以作為移動端或 Web應用程式一部分的演算法。在這個專案的最後,你的程式將能夠把使用者提供的任何一個影象作為輸入。如果可以從影象中檢測到一隻狗,它會輸出對狗品種的預測。如果影象中是一個人臉,它會預測一個與其最相似的狗的種類。下面這張圖展

《程式設計師程式碼面試指南》第一章 棧和佇列佇列

題目 通過給定的類實現貓狗佇列 程式 /** * @Description:貓狗佇列 * @Author: lizhouwei * @CreateDate: 2018/4/5 14:34 * @Modify by: * @ModifyDate: */ public class Chapter1_4

阿爾法機器戰勝人類,伺候機器的運維在哪裡?

2016年3月最火爆的新聞,莫過於谷歌的alphago機器4:1大勝李世乭了。一時間各界議論紛紛,我的前同事,運維界非著名段子手 @orroz 在自己微博上寫了兩段話: 跟其他運維工程師覺得這個職業將消失不同,我對運維職業是持極端樂觀態度的,也許運維職業將是人類最後一個職業。很可能祂們在能自理之前還

虛擬機器騷操作·Ubuntu16.04和UbuntuKylin16.04使用感受以及黑屏問題·Ubuntu下搜拼音輸入法的n種問題AND推薦一些重灌時的有用的一些問題連結

在很久沒有使用虛擬機器之後,我發現才用了一天的神級騷操作,為了給自己長點記性,先寫下來再說 第一篇 虛擬機器硬碟故障問題 分配空間20G結果當前大小130G是怎麼肥四!!! 最後經過探討,一致得出 我的虛擬機器太迷了。。。估計是s001那個檔案出了什

西北工業大學NOJ資料結構—009迴圈佇列

本題為迴圈佇列的應用,所謂迴圈佇列,就......迴圈的佇列 唄迴圈佇列可以在有限的佇列空間,來回進隊列出佇列,可以節約大量的儲存空間——因為佇列只能從一端進入從另一端彈出,所以若是進進出出(滑稽),就會使彈出佇列的元素原來佔有的位置不能再次被利用但是由於要求使用rear隊尾

記搜機器學習實習生面試

1.面試經過 面試兩點開始,面試的工作人員拿來我的簡歷挑著上面的演算法開始問,首先問到的是決策樹演算法,我回答到了熵,資訊增益,特徵選擇以及決策樹演算法的幾個步驟,接著他問我決策樹如何剪枝,我回答了在訓練的時候可以設定它的深度,他接著問如果樹已經訓練好

Python佇列及在微信機器人中的應用

本文來源於i春秋學院,未經允許嚴禁轉載。 最近打算更新微信機器人,發現機器人的作者將程式碼改進了很多,但去掉了sqlite資料庫,需要自己根據需求設計資料庫,跟作者溝通得到的建議是為了防止訊息併發導致資料庫死鎖,建議另開一個程序讀寫資料庫,將訊息加入一個佇列中,因為對Pyt

組裝一臺適合深度學習/機器學習的工作站

構建機器學習/深度學習工作站可能是困難和嚇人的。那裡有太多的選擇。你會不會去NVidia developer box花15000美元?或者你能以更具成本效益的方式建立更好的東西。哪種硬體適合需求?需要多