1 条题解
-
0
不知优先队列是何物:
其实优先队列就是在队列的基础上加了一些自动排序等好用的功能,就是定义队列麻烦点
优先队列其实使用了堆的思想,定义优先队列方法:
定义大顶堆 ```cpp priority_queue<int> maxHeap;
定义小顶堆
priority_queue<int,vector<int>,greater<int>> minHeap;
代码 ```cpp #include <bits/stdc++.h> using namespace std; int main() { priority_queue<int,vector<int>,greater<int> > q; int n,sum = 0; cin>>n; for(int i=0;i<n;i++) { int num; cin>>num; q.push(num); } for(int i=1;i<=n-1;i++) { int first = q.top(); q.pop(); int second = q.top(); q.pop(); int sum0 = first+second; sum+=sum0; q.push(sum0); } cout<<sum; }
- 1
信息
- ID
- 162
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 42
- 已通过
- 19
- 上传者