2004 合併果子
#include<iostream> #include<algorithm> #include<queue> using namespace std; priority_queue<int,vector<int>,greater<int> > q; int main() { int a,n,ans=0; int tmp; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a); q.push(a); } for(int i=1;i<=n-1;i++) { tmp=q.top(); q.pop(); tmp+=q.top(); q.pop(); q.push(tmp); ans+=tmp; } printf("%d\n",ans); return 0; }
相關推薦
2004 合併果子
#include<iostream> #include<algorithm> #include<queue> using namespace std; priority_queue<int,vector<int>,gre
NOIP提高組2004 合併果子(優先佇列排序)
從oj上看到一道問題,合併果子,題意如下: 1171.合併果子 Time Limit: 1000 MS Memory Limit: 32768 KB Total Submission(s): 77 Accepted Submission(s):
洛谷 P1090 合併果子 STL優先佇列
優先佇列 #include<iostream> #include<queue> using namespace std; int n,a[10005]; long long sum; priority_queue<int,vector<int>,greater
NOIP2004合併果子(提高組T2)————優先佇列STL,貪心
題解:本題主要考查優先佇列STL,貪心。若要體力最小,就要將最小的果合併,合併後的果子再入隊。 程式碼如下: #include<iostream> #include<queue> using namespace std; priority_queue<in
題解 luogu P1090 【合併果子】
下面是插排的做法 總之就是每次將最小的合併,但是有些網上的變態資料卡插排,所以我們接下來寫一個優先佇列 #include<bits/stdc++.h> using namespace std; int a[10050],n; int main() { long long
樹-堆結構練習——合併果子之哈夫曼樹
#include <stdio.h> #include <stdlib.h> void quick(int a[],int l,int r) { int i,j,x; i=l; j=r; x=a[l];
P1090 合併果子
#include<bits/stdc++.h> using namespace std; int main() { freopen("in.txt","r",stdin); int n;cin>>n; int temp; priority_q
程式設計基礎20 堆 合併果子
題目描述 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n-1次合併之後,就只剩下一堆了。多多在合
合併果子(佇列和優先佇列)
有兩種方法 一種是佇列 一種是優先佇列(priority_queue) 這兩種方法的區別是佇列定義時沒有自動排序 所以只能在輸入的時候按順序才能輸出正解(所以佇列的方法不被認為是正解) 下面是程式碼 比較簡便: #include<bits/stdc++.h> using na
B - 樹-堆結構練習——合併果子之哈夫曼樹
初試堆的一系列操作 Problem Description 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n-1次合併
隨筆-排序-合併果子
問題:合併果子 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n-1次合併之後,就只剩下一堆了。多多在合併果子時總
Huffman樹_CH1701_合併果子
思路分析: 顯然, 直接應用Huffman演算法即可, AC程式碼如下: //CH1701_合併果子 #include <cstdio> #include <queue
洛谷 T63713 合併果子
題目:小Z很喜歡在果林裡漫步,望著樹上的果子,忍不住開始摘果子了。 他把果林裡的n棵樹上的果子都摘下來了(這也太過分了吧)!他還無聊地輸出了每一棵果樹上的果子個數$num[i]$。 小Z又決定把所有的果子都合成一堆。每一次合併,小Z把兩堆果子合併到一起,消耗的體力為兩堆果子的重量之和。顯然,所有的果子經過
[貪心] 合併果子
BZOJ 3669 合併果子 題目描述 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n-
2127樹-堆結構練習——合併果子之哈夫曼樹
樹-堆結構練習——合併果子之哈夫曼樹 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 在一個果園裡,多多已經將所有
單調佇列及其deque寫法 HDU 3415+Poj 4002 (日期處理) + 合併果子
嘗試用deque寫一下單調佇列,發現速度還是可以接受的,STL依賴症越來越嚴重了。。。。 HDU 3415 Max Sum of Max-K-sub-sequence 題意:給出一個有N個數字(-1000..1000,N<=10^5)的環狀序列,讓你求一個和最大的連續
P1090 合併果子——————multiset
P1090 合併果子 題目描述 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過 n-1n−1 次合併之後, 就
合併果子(小根堆 手打)
題目描述 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過 n-1n−1 次合併之後, 就只剩
排序演算法(五)、堆排序 —— 合併果子
2004年NOIP全國聯賽普及組 題目描述: 在一個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。 每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n-1次合併之後,
CSU1588 合併果子(貪心)
題目:現在有n堆果子,第i堆有ai個果子。現在要把這些果子合併成一堆,每次合併的代價是兩堆果子的總果子數。求合併所有果子的最小代價。 思路:每次優先合併最小的兩堆,但若每次合併後都進行排序,會造成TE