POJ 3253 Fence Repair 哈夫曼树
2017-02-25 18:49
519 查看
传送门:POJ 3253 Fence Repair
分析:
常规模拟代码麻烦,采用STL中的multiset数据结构进行哈夫曼树的模拟构建。
代码如下:
PS:不加 !=EOF 就输出超限异常 - 141ms
分析:
常规模拟代码麻烦,采用STL中的multiset数据结构进行哈夫曼树的模拟构建。
代码如下:
#include <stdio.h> #include <algorithm> #include <set> using namespace std; int wood[20001],n; typedef long long LL; int main() { while(scanf("%d",&n) != EOF) { LL ans = 0; multiset<int> S; for(int i=0; i<n; i++) { int x; scanf("%d",&x); S.insert(x); } // multiset默认就是按照从小到大排序的 while(S.size() > 1) { multiset<int>::iterator it = S.begin(); int temp = *it; // 累加第一个元素 S.erase(it); // set中删除第一个元素 it = S.begin(); temp += *it; // 累加第二个元素 S.erase(it); // set中删除第二个元素 ans += temp; S.insert(temp); // 将第一个第二个元素的和重新加入set } printf("%lld\n", ans); } return 0; }
PS:不加 !=EOF 就输出超限异常 - 141ms
相关文章推荐
- poj 3253 Fence Repair (哈夫曼树)
- (哈夫曼树10.3.1)POJ 3253 Fence Repair(计算带权路径长度最小的哈夫曼树)
- POJ 3253 Fence Repair(优先队列,哈夫曼树,模拟)
- Poj 3253 Fence Repair(哈夫曼树)
- poj 哈夫曼树相关之3253 Fence Repair
- poj-3253 Fence Repair(哈夫曼树)
- poj 3253 Fence Repair【哈夫曼树、优先队列】
- POJ-3253-Fence Repair(哈夫曼树)
- POJ 3253 Fence Repair(优先队列+思维贪心)(哈夫曼树算法)
- poj 3253 Fence Repair(优先队列+哈夫曼树)
- 哈夫曼树 POJ 3253 Fence Repair
- POJ 3253 Fence Repair 哈夫曼树/优先级队列
- POJ 3253 Fence Repair(哈夫曼树)
- poj 3253 Fence Repair(优先队列+哈夫曼树)
- POJ 3253 Fence Repair(哈夫曼树)
- poj 3253 Fence Repair(哈夫曼树)
- POJ-3253-Fence Repair(Java+哈夫曼树)
- Fence Repair(POJ 3253 哈夫曼树)
- POJ 3253 Fence Repair 哈夫曼树 优先队列
- POJ 3253 Fence Repair(哈夫曼树)