51Nod--1117 聰明的木匠(排序)
我們可以反過來想,如何將這幾個線段組成一根 並且每次花費是組成的兩段的和
#include<bits/stdc++.h> using namespace std; #define maxn 50005 #define LL long long LL a[maxn],b[maxn],ans=0; priority_queue<int,vector<int>,greater<int> >q; int main(){ LL n; cin>>n; for(LL j=1;j<=n;j++){ scanf("%lld",&a[j]); q.push(a[j]); } LL ans=0; while(q.size()!=1){ int l1=q.top(); q.pop(); int l2=q.top(); q.pop(); ans+=l1+l2; q.push(l1+l2); } cout<<ans<<endl; return 0; }
相關推薦
51Nod--1117 聰明的木匠(排序)
我們可以反過來想,如何將這幾個線段組成一根 並且每次花費是組成的兩段的和 #include<bits/stdc++.h> using namespace std; #define maxn 50005 #define LL long long LL a
1117 聰明的木匠 (貪心)
1117 聰明的木匠 1 秒 131,072 KB 20 分 3 級題 思路: 第一次切割Li, 花費體力:M 第二次切割Lj,花費體力:M-Li 第三次切割Ls,花費體力:M-Li-Lj N次切割後花費體力為:M-Li-Lj-……-Lk 那麼,花費的總體力為NM-(N-1)Li-(N-2)Lj-……-
51Nod - 1117 聰明的木匠
一次 names using 保存 blog class eof 後者 ble 51Nod - 1117 聰明的木匠 一位老木匠需要將一根長的木棒切成N段。每段的長度分別為L1,L2,......,LN(1 <= L1,L2,…,LN <= 1000,且均為
51NOD 1117 聰明的木匠
每次 i++ color += can bit ++ pac nbsp 來源:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117 挑戰原題吧 大概 每次挑選最小的兩個,合起來
uva:10763 - Foreign Exchange(排序)
希望 return pri con com 解題思路 track || blog 題目:10763 - Foreign Exchange 題目大意:給出每一個同學想要的交換坐標 a, b 代表這位同學在位置a希望能和b位置的同學交換。要求每一位同學都能
51Nod 1344 走格子 (貪心)
ret 機器人 const ani 能夠 貪心 nod 多少 整數 有編號1-n的n個格子,機器人從1號格子順序向後走,一直走到n號格子,並需要從n號格子走出去。機器人有一個初始能量,每個格子對應一個整數A[i],表示這個格子的能量值。如果A[i] > 0,機器人走
51nod 1672 區間交(貪心)
turn style 區間貪心 txt scan html emp ble line http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1672 題意: 思路:其實這就是一個經典的區間貪心問
51nod蜥蜴與地下室(1498)(暴力搜索)
end math += name out 狀態 是我 ffffff fff 題意:一個數組s,再給你a,b值,除了s1和sn外,你可以攻擊其他元素,你對這個元素的傷害為a,那麽他兩邊的元素會受到b的牽連傷害,si-a,si-1-b,si+1-b; 求最小的次數,使得這個數組
erlang下lists模塊sort(排序)方法源碼解析
簡單的 我們 asc HR 最簡 lse color ble 最小 排序算法一直是各種語言最簡單也是最復雜的算法,例如十大經典排序算法(動圖演示)裏面講的那樣 第一次看lists的sort方法的時候,蒙了,幾百行的代碼,我心想要這麽復雜麽(因為C語言的冒泡排序我記得不超過3
erlang下lists模塊sort(排序)方法源碼解析(二)
比較 應該 源碼解析 tudou 解析 [] sort bsp 時間差 上接erlang下lists模塊sort(排序)方法源碼解析(一),到目前為止,list列表已經被分割成N個列表,而且每個列表的元素是有序的(從大到小) 下面我們重點來看看mergel和rmergel模
hiho 第214周 Sorting Photo Files(排序)
ast iostream syn () 比較 sin 分享圖片 fine spa 1.自定義排序,兩個字符串提取出全字符和全數字的子段,如果全字符的子段相等,比較得到的數字大小。 1 #include <set> 2 #include <map&g
51Nod 1201 - 整數劃分(DP)
【題目描述】 【思路】 d p [ i
51Nod 1217 - Minimum Modular(數論)
【題目描述】 【思路】 這個題我們可以考慮從小到大列舉m(從max(1,n-k)到max(a[i])+1),然後判斷能否在刪不超過k個數的情況下滿足每個數模m都互不相同。 對於模m的情況,a[i]≡a[j](mod m)當且僅當a[i]-a[j]是m的倍數,我們可以先預處理出a[i
資料結構(排序)
插入排序 實驗簡介 學習了前面一章的查詢,我們知道二分查詢需要先對資料進行排序,那麼這章開始我們就來講解一下幾種經典的排序演算法。 一、直接插入排序 首先我們來講直接插入排序,它的做法是:每次從無序表中取出第一個元素,把它插入到有序表的合適位置,使有序表仍然有序。第一趟
7-19(排序) 尋找大富翁 (25 分)(歸併排序)(C語言實現)
7-19(排序)
upc3577誰會贏?(排序)
問題 T: 【排序】誰會贏? 時間限制: 3 Sec 記憶體限制: 64 MB 題目描述 最近,在課餘時間流行一種遊戲,遊戲的規則如下:遊戲開始時,每個人都從規定範圍內的數中選取一個數(保證所選取的數各不相同),寫在紙上,握在手中(以防讓別的同學
C/C++ 泛型程式設計vector(排序)
題目描述 對一組輸入的資料(0結束)進行排序輸出。 約定:所有的輸入資料都為正整數,且都不大於100000。 輸入 包括多組測試資料。 每組以0結尾。 輸出 每組輸出1行。輸出排序後的資料(不含0)。 樣例輸入 1 2 3 2 4 0 5 6 2 2 0
1085 Perfect Sequence (排序)
1085 Perfect Sequence (25 分) Given a sequence of positive integers and another positive integer p. The sequence is said to be a per
資料結構——導通電路板問題(排序)
有一塊佈滿器件的電路板,器件共N行M列。每個器件只有兩種狀態,經一次鐳射照射後狀態反轉。 初始時,器件的狀態隨機。鐳射的位置在每列器件的最上方,這意味著照射一次,當前列中的所有器件的狀態全部反轉。(鐳射可以多次照射同一列。) 當一行中的所有器件全為1時,本行處於導通狀態。
離散化(排序)
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> #include<vector> const int maxn =10000; using n