2004noip 提高组 合并果子
2017-07-06 11:30
204 查看
可以这么理解将所有果子放入盒子中,取出最小的两个,合并后放回,如此反复直到盒子中只剩一个为止
//队列:将最小的拿出之后在讲合并后的推入如此反复 #include<iostream> #include<cstdio> #include<algorithm> #include<queue> using namespace std; priority_queue<int,vector<int>,greater<int> >fruit; //优先队列,自动让队列中的元素由小到大排序 int main() { int n; int total=0;//力气总量 int temp=0; int theweightoffruit;//果子的重量 scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&theweightoffruit); fruit.push(theweightoffruit);//每输入一个果子的重量,他将由小到大排序 } for(int i=0;i<n-1;i++){ temp=fruit.top();//弹出顶部元素,即最小的一堆 fruit.pop();//弹出当前最小的元素 temp+=fruit.top();//读取当前最小的一堆并与前一个元素合并 fruit.pop();//弹出第二小的元素 fruit.push(temp);//再将合并后的元素压入队列中 total+=temp;//那么花费的总力气再加上盒子里的就可以 } printf("%d",total); return 0; }
相关文章推荐
- 合并果子(NOIP2004)提高组
- NOIP提高组2004 合并果子题解
- 【双队列】【NOIP2004提高组】二、合并果子
- 【NOIP2004提高组】合并果子(贪心)
- NOIP2004提高组T2 合并果子
- [NOIP提高组2004]津津的储蓄计划+ [NOIP提高组2004]合并果子
- [NOIP2004] 提高组 洛谷P1090 合并果子
- noip系列 2004提高组 合并果子
- NOIP 2004 提高组 复赛 fruit 合并果子
- 【双队列】【NOIP2004提高组】二、合并果子
- NOIP提高组2004 合并果子(优先队列排序)
- 【codevs1063】【NOIP2004PJ】合并果子,贪心の钻石
- noip 2004 合并果子
- [NOIP2004]合并果子 T2 数据结构 简单贪心
- NOIp 2004 合并果子
- NOIP 2004 合并果子 题解 (堆 )
- |Tyvj|NOIP2004|堆|贪心|P1066 合并果子
- 二叉堆&优先队列-----noip2004 合并果子
- noip2004-合并果子 2008.10.22
- b151: NOIP2004 2.合并果子