nyoj55懒省事的小明(STL优先队列)
2016-05-06 21:02
267 查看
题目地址:点击打开链接
题意:每次去消耗体力最小的堆相加并且入队,直到变为一堆
Code:
题意:每次去消耗体力最小的堆相加并且入队,直到变为一堆
Code:
//一定邀记得用long long 因为体力在加的过程中会变得很大 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> using namespace std; struct comp { bool operator()(long long &x,long long &y) //定义优先级,小的数优先出队 { return x>y; } }; priority_queue<long long,vector<long long>,comp>q; //优先队列 int main() { long long t,n,a,res,i; scanf("%lld",&t); while(t--) { int x,y; res=0; scanf("%lld",&n); for(i=0;i<n;i++) { scanf("%lld",&a); q.push(a); } while(q.size()!=1) { x=q.top(); q.pop(); y=q.top(); q.pop(); x=x+y; res+=x; q.push(x); } while(!q.empty()) { q.pop(); } printf("%lld\n",res); } return 0; }
相关文章推荐
- 本文建模系列值三:LDA感悟
- poj 1321棋盘问题(补充)
- IOS自动释放原理及详解
- C经典 结构图初始化三种方式
- 文本建模系列之二:pLSA
- MAC OS X 系统怎么样?
- java底层知识(5)--递归与尾递归总结
- 文本建模系列之一:LSA
- fwrite,fread and fprintf,fscanf的一些使用体会
- java----map,set,hash的源码分析---篇1
- mac常用快捷键
- 幻方 C代码
- JAVA+CKEditor+CKFinder 配置异常解决方案
- 神经网络更新参数的几种方法
- 趣谈Java变量的可见性问题
- Cocos2d-x学习(3) - cocos2d坐标系,锚点
- jetty的基本介绍
- JAVA打开CHM类型帮助文件
- 浅谈链表以及链表基本操作
- [Java视频笔记]day18