51Nod-1117-聪明的木匠
2016-08-07 23:41
260 查看
ACM模版
描述
题解
化分割为石子归并的思想,但不同的是,这个每段长度是可以任选的,所以不像石子归并的动态规划,而是使用贪心+优先队列。代码
#include <iostream> #include <vector> #include <queue> #include <cstdio> using namespace std; int main(int argc, const char * argv[]) { int N; cin >> N; int num; priority_queue<int, vector<int>, greater<int> > q; for (int i = 1; i <= N; i++) { scanf("%d", &num); q.push(num); } int temp_1, temp_2; int sum = 0; while (q.size() > 1) { temp_1 = q.top(); // 每次先合并长度最小的 q.pop(); temp_2 = q.top(); q.pop(); sum += temp_1 + temp_2; q.push(temp_1 + temp_2); } printf("%d\n", sum); return 0; }
参考
51Nod 1021 石子归并相关文章推荐
- 51nod 1117 聪明的木匠 (优先队列_STL)
- 51nod 1117 聪明的木匠
- 51nod 1117 聪明的木匠(简单贪心)
- 51nod 1117 聪明的木匠(贪心)
- 51nod-【1117 聪明的木匠】
- 51nod 1117聪明的木匠-贪心算法
- 51nod--1117-聪明的木匠
- 51Nod 1117 聪明的木匠(贪心+优先队列)
- 51nod-1117 聪明的木匠
- 51nod 1117 聪明的木匠 (哈夫曼树)
- 51nod 1117 聪明的木匠【贪心+优先队列】
- 51NOD——1117 聪明的木匠(可用优先队列解决的贪心算法)
- 51Nod-1117-聪明的木匠
- 51nod 1117 聪明的木匠 (贪心)
- 【51Nod】1117 聪明的木匠
- 【51nod】1117 聪明的木匠
- 51NOD 1117 聪明的木匠
- 51nod-1117 聪明的木匠
- 51Nod 1117 聪明的木匠 (优先队列构造哈夫曼树)
- 51nod 1117 聪明的木匠