Huffman树——合并果子

news/2024/5/20 9:18:05 标签: Huffman, , 贪心

原题链接

解析

这道题是一个典型的Huffman树的题目
对于任何一种构造都可以转化成一棵树,这道题相当于是求跟结点的权制最小
因此这道题可以用Huffman树来进行解决,权值越小的点离树根越远越好,权值越大的点离树根越近越好
因此可以用小根来实现这个过程

代码

#include <bits/stdc++.h>
using namespace std;
int n;
priority_queue<int,vector<int>,greater<int> >vis;
int main()
{
    scanf("%d",&n);
    while(n--)
    {
        int x;
        scanf("%d",&x);
        vis.push(x);
    }
    int res=0;
    while(vis.size()>1)
    {
        int a=vis.top();
        vis.pop();
        int b=vis.top();
        vis.pop();
        res+=(a+b);
        vis.push(a+b);
    }
    cout<<res<<endl;
    return 0;
}

http://www.niftyadmin.cn/n/815754.html

相关文章

排队打水

原题链接 结论&#xff1a;时间短的小朋友先打水&#xff0c;时间长的小朋友后打水 证明&#xff1a;我们假设最终的答案中有逆序&#xff0c;如果将逆序倒过来&#xff0c;那么一定可以得到一个更小的答案 代码 #include <bits/stdc.h> using namespace std; typedef…

耍杂技的牛

原题链接 结论&#xff1a;按照牛的体重和强壮值之和从小到大排序得到的序列是危险值的最大值最小的排列方式 证明&#xff1a;这道题我们可以用转换的思路来证明&#xff0c;即&#xff1a;如果存在最终答案的序列中存在逆序的情况&#xff0c;我们一定一刻通过把逆序倒过来的…

牛客题单——贪心、数论

题单链接 反素数 反素数就是一个数的因子大于所有小于这个数因子的数 题目中要求的区间内的最大反素数 等价于 求这个区间内因子最多的数且这个数最小 可以用反证法进行证明&#xff1a; 假设在当前区间中的答案是x&#xff0c;如果y的约数个数大于x&#xff0c;那么x就不是…

翻硬币

问题 J: 翻硬币 时间限制: 1 Sec 内存限制: 128 MB提交: 19 解决: 3[提交] [状态] [讨论版] [命题人:外部导入]题目描述 小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面&#xff0c;用 o 表示反面&#xff08;是小写字母&#xff0c;不是零…

浏览器上网流程以及套接字介绍

1.输入网址 2.DNS解析 3.TCP连接 4.客户端发送请求 5.服务端根据请求返回响应 6.浏览器根据返回的html、css、js和图片渲染页面 二、套接字 应用层通过传输层进行数据通信时&#xff0c;TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程…

MyBatis从入门到精通:第一章数据库创建文件

/*创建数据库mybatis&#xff0c;并指定编码方式为utf8&#xff0c;字符比较规则为utf8_general_ci*/ CREATE DATABASE mybatis DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;/*创建表*/ CREATE TABLE country(id INT NOT NULL AUTO_INCREMENT,countryname VARCHAR(255…

数据结构与算法之美——排序(上)

冒泡排序&#xff08;Bubble Sort&#xff09; 冒泡排序只会操作相邻的两个数据元素。每次冒泡操作都会对相邻的两个元素进行比较&#xff0c;看是否满足大小关系要求。如果不满足就让它俩互换&#xff0c;就像气泡上升一样。一次冒泡会让至少一个元素移动到应该在的位置&#…

[2018-2019]声明

Java学习的相关博客文章为看尚学堂高淇老师视频所记的笔记&#xff0c;所以和高老师课上所讲十分类似&#xff0c;并非原创&#xff0c;请大家勿喷。另外十分感谢高淇老师。 b站视频地址&#xff1a;https://www.bilibili.com/video/av30023103/?spm_id_from333.788.b_636f6d6…