
堆
jiang_16
一个想学好编程的弱渣妹纸,猎奇,脑洞向...
展开
-
寻找大富翁
Problem Description2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。 Input首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10),其中N为总人数,M为需要找出的大富翁数目,接下来给出N个人的个人资产,以万元为单位,个人资产数字为正整数,数字间以空格分隔。 Output一行原创 2017-12-22 20:55:55 · 312 阅读 · 0 评论 -
堆排序
算法思想:建立一个最大堆(最小堆),最大堆满足一个性质,即所有的父结点都要比它的左右结点大,故可以每次将根结点抽取出来放在最后面,每次都抽取剩余部分的最大值,那最终得到的序列就是有序的建立最大堆的方法:从最底层的父结点开始,从下往上,不断的把子树调整成最大堆,最后根结点就是最大元素,然后跟最后面的元素交换位置,交换完再重新进行调整#include #include #include原创 2017-06-26 11:22:15 · 266 阅读 · 0 评论 -
多元Huffman编码问题
Problem Description在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2 堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。对于给定n堆石子,计算合并成一堆的最大总费用和最小总费用。Input输入数据的第1 行有2 个正整数n和k(n≤100000,k≤1000...原创 2019-04-23 10:28:40 · 431 阅读 · 0 评论