51nod 1117 聪明的木匠(简单贪心)

原创 2016年08月29日 23:11:54

其实这道题反过来想,就是将其中两个数组合起来,加上它们的和就行了,贪心算法即可,每次选择两个最小值进行合并,最后结果就是答案了。这道题顺便复习了stl的使用。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int m;
    cin>>m;
    multiset<long long>s;
    while(m--)
    {
        long long t;
        scanf("%d",&t);
        s.insert(t);
    }
    multiset<long long>::iterator it;
    long long sum=0;
    while(s.size()!=1)
    {
		long long k=0;
		it=s.begin();
		k+=*it;
		s.erase(it);
		it=s.begin();
		k+=*it;
		s.erase(it);
		sum+=k;
		s.insert(k);
    }
    cout<<sum<<endl;
}


51NOD——1117 聪明的木匠(可用优先队列解决的贪心算法)

该题来自POJ3253 另外两道可用优先队列解决的贪心算法:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=116...

51nod 1117 聪明的木匠【贪心+优先队列】

1117 聪明的木匠 题目来源: 河北大学算法艺术协会 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 一位老木匠需要...

51Nod 1117 聪明的木匠(贪心+优先队列)

题目链接:  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117 一位老木匠需要将一根长的木棒切成N段。每段的长...

51Nod-1117-聪明的木匠

1117 聪明的木匠 题目来源: 河北大学算法艺术协会 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 ...
  • C_13579
  • C_13579
  • 2017年10月31日 16:26
  • 52

51nod 1117 聪明的木匠

类似于huffman树,倒过来考虑问题就是每次把最短的两根加和,再放回 这题用了priority_queue实现最小堆,要记得怎么用的 1117 聪明的木匠 题目来源: ...
  • mrspot
  • mrspot
  • 2017年04月22日 15:28
  • 103

51nod-【1117 聪明的木匠】

1117 聪明的木匠 题目来源: 河北大学算法艺术协会 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 ...
  • Cai_Nia
  • Cai_Nia
  • 2016年11月15日 20:44
  • 307

51NOD - 贪心算法入门 - 活动安排问题 之 二【简单贪心 + 思维】

题目有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室?输入第一行一个正整数n (n ...

51nod 1460:连接小岛 贪心二分

1460 连接小岛 题目来源: CodeForces 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 ...

51nod-1299 监狱逃离(贪心)

1299 监狱逃离 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 难度:7级算法题  收藏  关注 ...

贪心 51Nod1460 连接小岛

传送门:点击打开链接 题意:有n个小岛,每一个小岛是直线型的,他们不相互相交,第i个小岛所占的区间是[li, ri],而且, ri 现在有m条桥,每条桥最多被使用一次,问能否把这些岛连接起来。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:51nod 1117 聪明的木匠(简单贪心)
举报原因:
原因补充:

(最多只允许输入30个字)