最优合并问题
Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description
给定k 个排好序的序列s1 , s2,……, sk , 用2 路合并算法将这k 个序列合并成一个序列。假设所采用的2 路合并算法合并2 个长度分别为m和n的序列需要m + n -1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。
为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。
对于给定的k个待合并序列,计算最多比较次数和最少比较次数合并方案。

Input
输入数据的第一行有1 个正整数k(k≤1000),表示有k个待合并序列。接下来的1 行中,有k个正整数,表示k个待合并序列的长度。
Output
输出两个整数,中间用空格隔开,表示计算出的最多比较次数和最少比较次数。
Sample Input
4
5 12 11 2
Sample Output
78 52
Hint

/*******
“大叔”最后加才最小;先排序哦!
**********/
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
priority_queue<int>queue1;
priority_queue<int,vector<int>,greater<int> >queue2;
void greedy(int n,int k)
{int sum1 =0,sum2=0,heap=0;///最大while(queue1.size()>1)///至少有两堆才用比较{int a = queue1.top();queue1.pop();int b = queue1.top();queue1.pop();heap = a+b;sum1 = sum1+ heap-1;queue1.push(heap);}///最小while(queue2.size()>1){int a = queue2.top();queue2.pop();int b = queue2.top();queue2.pop();heap = a+b;sum2 =sum2+ heap-1;queue2.push(heap);}cout<<sum1<<" "<<sum2<<endl;}
int main()
{int k,x;
scanf("%d",&k);
while(k--)
{cin>>x;queue1.push(x);queue2.push(x);
}greedy(k,2);return 0;
}

贪心----最优合并问题相关推荐

  1. java区间合并_贪心算法:合并区间

    ❝ 最近文章阅读量少了很多啊打卡也少了, 是不是年底了很多录友在忙期末考试啊,哈哈. 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: intervals = [[1,3],[2,6], ...

  2. ACM算法训练【贪心合集】

    贪心合集 1.区间选点(区间问题·贪心) 2.区间分组(区间问题·贪心) 3.区间覆盖(区间问题·贪心) 4.耍杂技的牛(权重相加问题·贪心) 5.合并果子(Huffman树) 6.排队打水(排序不等 ...

  3. 算法训练一(贪心、二分)(含解题思路)(下)

    目录 7-15种树(贪心) AC代码: 7-16会场安排问题(贪心) AC代码: 7-17最优合并问题(贪心) AC代码: 7-18简简单单的数学题(位运算 + 哈希表) AC代码: 7-19h148 ...

  4. 2020-11-23 PTA算法_贪心算法部分习题及代码

    贪心算法部分习题及代码 1 装箱问题 2 月饼 3 最优合并问题 4 看电影 5 喷水装置 6 活动选择问题 1 装箱问题 假设有N项物品,大小分别为s​1​​.s​2​​.-.s​i​​.-.s​N ...

  5. _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 、714.买卖股票的最佳时机含手续费、968.监控二叉树

    _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 .714.买卖股票的最佳时机含手续费.968.监控二叉树 题目列表 738.单调递增的数字 714.买卖股票 ...

  6. C++贪心实现汽车加油问题

    一.实验目的 1.掌握基于贪心的算法求解汽车加油问题的原理和贪心性质的证明. 2.掌握汽车加油问题贪心算法正确性的推导过程和设计原理. 3.掌握基于贪心的算法汽车加油问题函数的具体步骤. 4.具备运用 ...

  7. 拜托,别再问我贪心算法了!

    来自:码海 前言 上篇一文学会动态规划解题技巧 被不少号转载了,其中发现有一位读者提了一个疑惑,在求三角形最短路径和时,能否用贪心算法求解.所以本文打算对贪心算法进行简单地介绍,介绍完之后我们再来看看 ...

  8. Division 贪心,模拟 牛客练习赛95

    链接:https://ac.nowcoder.com/acm/contest/11185/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52 ...

  9. 【51Nod - 1117 】聪明的木匠 (贪心,哈夫曼树,时光倒流)

    题干: 一位老木匠需要将一根长的木棒切成N段.每段的长度分别为L1,L2,......,LN(1 <= L1,L2,-,LN <= 1000,且均为整数)个长度单位.我们认为切割时仅在整数 ...

最新文章

  1. 用Latex做介绍自己和团队科研的网页
  2. linux c 宏定义 #define _GNU_SOURCE 含义
  3. sudoers 用户权限配置_Linux 用户注意!针对Sudo 被曝漏洞,厂商已发布最新版本...
  4. 在实际项目中如何应用门面模式(Facade)
  5. [CQOI2018] 解锁屏幕
  6. kafka使用_kafka使用Interceptors实现消息端到端跟踪
  7. day4-mysql数据关系
  8. 安徽省计算机一级PDF,安徽省计算机一级考试试题 .pdf
  9. PHP把商品详情数据加入到商品数据,如果商品有多个详情只展示一次商品数据
  10. 配置Model Optimizer的Python 3.7.4 ECHO 处于关闭状态。‘pip3‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
  11. python学习笔记_week19
  12. cesium 模型实体平移
  13. 32位计算机如何升级,32位改64位系统怎么安装 32位怎么升级64位系统
  14. JAVASE高级部分
  15. 牛客小白月赛24 J.建设道路
  16. CoreData的使用
  17. java 坦克世界源代码教程_译文教程:坦克世界游戏制作技术分享
  18. 充分利用 cpu_如何充分利用云
  19. 【已解决】Ubantu上No package ‘libcrypto‘ found问题
  20. android获取当前焦点的位置,查找焦点的位置

热门文章

  1. 使用express框架接收和发送ajax信息
  2. python实现电脑程序自动化_python基于pywinauto实现PC客户端自动化
  3. 未封装的扩展程序是什么意思_“冰壶见底未为清,少年如玉有诗名”这句诗是什么意思?...
  4. STL常用函数总结-stack
  5. pytorch学习笔记(三十七):RMSProp
  6. python调用TensorFlow时报错:FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecated
  7. 目标检测——neck组件的学习笔记
  8. PyTorch——torch.Tensor与np.ndarray(NumPy)之间的类型转换
  9. uv4:you are not logged in as an administrator
  10. 【干货】TCP/IP协议三次握手四次挥手