头歌,第一关:贪心算法

头歌 算法 实验六 贪婪算法 思考:如果商店售货员找给 1 个顾客 140 元,假设钱币的面值有九种:100 元,70 元,50 元,20 元,10 元,7 元,5 元,2 元,1 元。商店售货员找给 1 个顾客 n 元,用以下七种面值的纸币:100 元,50 元,20 元,10 元,5 元,2 元,1 元。本关任务:将 n 个正整数作成的一个数列,进行如下操作:每一次删除其中的两个数 a 和 b,然后在数列中加入一个数。在所有按这种操作方式最后得到的数中,最大的记作 max,最小的记作 min,则该数列的极差定义为。 阅读详情

#include <iostream>

#include <algorithm>

using namespace std;

int n,m;

int a[100];

int main()

{

    cin>>n>>m;//n为人数,m为一条船的最大承重

    for(int i=1;i<=n;i++) cin>>a[i];

    sort(a+1,a+n+1);

    int i=1,j=n;

    int ans=0;

    while(i<j)

    {

        if(a[i]+a[j]>m) j--;

        else

        {

            i++;

            j--;

            ans++;

        }

    }

    cout<<ans+n-2*ans<<endl;


 

    return 0;

}

贪心算法——删数问题(修改后) 要求:一个m位的数,去掉其中任意s个数,剩下的数按原次序组成一个新的数,要求编写程序是的重新组合的那个数最小。主要思路: 1、确定最高位:现在前s+1个数中找到最小的那个数,同时将所找到的这个数之前的数全部删掉。(因为删除s个数,所以最高位的那个数肯定在前s+1之中) 2、按同样的方法依次确定第i位数,但是数字比较的范围要缩小到从上一个确定的数后一位数到第s+i位数。(一共比较s 阅读详情

相关推荐

实验六 贪婪算法

第1关:找零钱 本关任务:设计一个贪婪算法,使得找的钱币张数最少。 商店售货员找给 1 个顾客 n 元,用以下七种面值的纸币:100 元,50 元,20 元,10 元,5 元,2 元,1 元。 思考:如果商店售货员找给 1 个顾客 140 元,假设钱币的面值有九种:100 元,70 元,50 元,20 元,10 元,7 元,5 元,2 元,1 元。用贪婪算法得到的是该问题的最优解吗? #include <stdio.h> void main() { /********** Begin

Junds0的博客 4985

头歌实验 贪心算法

思考:如果商店售货员找给 1 个顾客 140 元,假设钱币的面值有九种:100 元,70 元,50 元,20 元,10 元,7 元,5 元,2 元,1 元。商店售货员找给 1 个顾客 n 元,用以下七种面值的纸币:100 元,50 元,20 元,10 元,5 元,2 元,1 元。本关任务:将 n 个正整数作成的一个数列,进行如下操作:每一次删除其中的两个数 a 和 b,然后在数列中加入一个数。在所有按这种操作方式最后得到的数中,最大的记作 max,最小的记作 min,则该数列的极差定义为。

m0_56267074的博客 3794

手写哈夫曼树:贪心构建、编码实现与头歌调试指南

哈夫曼树是数据结构中经典的带权最优二叉树,其核心思想源自贪心策略:每次选取权值最小的两个节点合并,使整棵树的带权路径长度(WPL)最小。基于这棵树生成的哈夫曼编码,利用“任一编码都不是其他编码前缀”的特性,无需分隔符即可实现无损解码,因此被广泛应用于文件压缩、传输加密等场景。理解哈夫曼树的构建与编码过程,不仅是掌握贪心算法的有效途径,也是C语言数组与指针实践的绝佳训练。围绕头歌平台“构建哈夫曼树及编码”实训题,从静态三叉链表的初始化、最小节点选取、边界条件处理到编码输出与调试,完整串起一条可落地的实现链路,

weixin_42549723的博客 338

头歌-贪心算法

思考:如果商店售货员找给 1 个顾客 140 元,假设钱币的面值有九种:100 元,70 元,50 元,20 元,10 元,7 元,5 元,2 元,1 元。商店售货员找给 1 个顾客 n 元,用以下七种面值的纸币:100 元,50 元,20 元,10 元,5 元,2 元,1 元。本关任务:将 n 个正整数作成的一个数列,进行如下操作:每一次删除其中的两个数 a 和 b,然后在数列中加入一个数。在所有按这种操作方式最后得到的数中,最大的记作 max,最小的记作 min,则该数列的极差定义为。

SXXYNHHXX的博客 2339

哈夫曼树与编码实验详解:贪心算法到二进制串的完整实现

哈夫曼树是数据结构中贪心算法的经典应用,通过每次合并权值最小的两个节点,构建带权路径长度最小的二叉树。其生成的哈夫曼编码满足前缀编码特性,可实现无损数据压缩,广泛应用于文件压缩、通信编码等领域。在实践教学中,头歌平台的“哈夫曼树及编码”实验要求使用数组模拟静态链表完成树的构建与编码输出,重点考察SelectMin最小权值选择与边界条件处理。本文围绕数组存储方案、两路最小权值合并、逆序编码生成以及头歌判题细节展开,提供完整实现思路与易错点分析,帮助初学者绕过动态指针的陷阱,顺利通过OJ测试。

weixin_42565652的博客 101

高级算法程序设计(头歌平台educoder)

educoder平台高级程序算法实现、主要有分治法、贪心法、回溯法和动态规划!

贪心算法(头歌课堂案例)

基本模板:哈夫曼编码+单源最短路径+最小生成树+活动安排

Jdhhsuhs的博客 1320

CATIA P3 V5-6R2023在Windows 11 23H2上的稳定安装与系统级配置指南

CATIA是高端制造业核心的三维参数化设计平台,其运行依赖严格的系统底层支撑。理解CATIA的BRep几何内核原理与Windows子系统(如WSL、Hyper-V)的协同机制,是保障建模稳定性与计算精度的技术前提。CATIA Run-Time Library和OpenGL硬件加速能力共同决定了曲面重建、螺纹建模等关键操作的可靠性;而.NET Framework 3.5、VC++ 2022运行库及显卡Studio驱动的精准匹配,则构成工业软件在Win11环境落地的工程基础。本文聚焦于航空、轨交、能源等领域高频

weixin_30983353的博客 631

头歌 2022 春第一期 Greeker‘s party 14 周

头歌 2022 春第一期 Greeker‘s party 14 周 第 1 关:抢超市Ⅰ第 2 关:抢超市 II 第 3 关:抢超市 III

weixin_46323890的博客 494

MIPI CSI-2数据加扰技术解析:LFSR实现与多通道同步策略

本文深入解析了MIPI CSI-2协议中的数据加扰技术,该技术通过线性反馈移位寄存器(LFSR)对图像数据进行随机化处理,旨在有效降低高速传输中的电磁干扰。文章详细阐述了LFSR的工作原理、D-PHY与C-PHY物理层不同的初始化与同步策略,并探讨了多通道同步的实现方法,为高速接口的EMC设计与调试提供了实践指导。

weixin_29207149的博客 384

【邻接表存图模板】vector邻接表、数组邻接表、链式前向星

一、目录 一、目录 二、前言 三、邻接表“详解” (一)边的信息 (二)几种邻接表的实现方法“详解” 1.数组邻接表 代码 2.vector邻接表 代码 vector邻接表还有一种魔性写法: 3.链式前向星 代码 四、总结 二、前言 本来之前自己太弱了,一直只会用邻接矩阵,后来发现邻接表才是主流... 参考&特别鸣谢: https://www.cnblog...

十里寒塘路♣烟花一半醒 3113

贪心算法: 如何用贪心算法实现Huffman压缩编码

every__day 2019-02-14 13:46:48 488 收藏 1 分类专栏: 算法与数据结构 版权 ------ 本文是学习算法的笔记,《数据结构与算法之美》,极客时间的课程 ------ 今天来学习贪心算法(greedy algorithm)。贪心算法有很多经典的应用,比如霍夫曼编码(Huffman Coding)、Prim 和 Kruskal最小生成树算法、还有 Dijkstra 单源最短路径算法。最小生成树算法和最短路径算法我们后面会讲到。今天来看下,霍夫曼编码,它是如何利用贪心算..

科技区软件类AI博主 🔍 专注 AI 工具测评 / 前沿产品深度拆解 / 行业趋势预判 🚫 拒绝科技玄学,只讲人话干货 —— 从工具使用到商业落地,搭建可复用的 AI 应用框架 497

synopsys工具安装系列(一)安装installer

synopsys为eda工具安装,提供了一个安装器,名叫installer。所以,首先要先安装installer这个工具,之后才能安装其他的eda工具。 首先从官网下载该installer工具。我这里下载的是5.2版本 下载之后,有如下安装文件。 将该安装包,拷贝到linux服务器中。 首先给SynopsysInstaller_v5.2.run赋予可执行权限。 chmod a+x SynopsysInstaller_...

weiqi7777的博客 8390

头歌实训-图论实战:从邻接矩阵到Dijkstra的编程通关

本文详细介绍了在头歌实训平台上进行图论实战的经验,从邻接矩阵的实现到Dijkstra算法的编程通关。通过具体案例和Python代码示例,帮助读者掌握图论基础概念、矩阵表示方法以及最短路径算法的实现技巧,提升离散数学和图论的实际应用能力。

weixin_29230901的博客 159

【STM32开源实战】基于STM32的智能输液监控系统设计与实现

本文详细介绍了基于STM32F103C8T6主控芯片的智能输液监控系统设计与实现。该系统通过光学液位传感器、温度传感器和红外滴速检测模块实时监测输液状态,利用步进电机自动调节滴速,并通过蓝牙实现数据远程传输,为医院提供了一套低成本、高可靠性的智能输液解决方案。

h6i7j8的博客 761

DAB协议解读ETSI TS 103 461

数字信号广播( Digital Audio Broadcasting 简称DAB)是继AM、FM传统模拟广播之后的第三代广播--数字信号广播,它提供了接近CD质量的声音,广播及商机无限的附加数据服务,具有抗噪声、抗干扰、抗电波传播衰落、适合高速移动接收等优点,保证固定、携带及移动时接收信号的质量。DAB的原始版本使用MP2音频编解码器。该系统的升级版本于2007年2月发布,称为DAB+,它使用基于改进的离散余弦变换(MDCT)的HE-AACv2(AAC+)音频编解码器。

qflook的博客 4477

头歌实训作业 算法设计与分析-贪心算法(第2关:最优装载问题)

有一批集装箱要装上一艘载重量为C的轮船,共有n个集装箱,其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。第1行为集装箱数目n和载重限制C第2行~第n+1行为n个集装箱的重量输出最优装载方案的集装箱数目,若没有装入任何集装箱,则输出01:5 10526433说明:其中一个最优装载方案为装入重量为2、3和4的集装箱2 1011120集装箱都超重。

B5201234的博客 902

【Bug已解决】Codex Desktop 报错 Computer Use 插件不可用的解决方案

方案适用场景推荐指数让 Codex 自查修复首选的快速尝试方式⭐⭐⭐⭐⭐清理插件缓存重启明确怀疑是本地缓存损坏⭐⭐⭐⭐彻底卸载重装前两个方案无效时的进阶方案⭐⭐⭐⭐检查安全软件拦截企业电脑/装有严格安全软件的环境⭐⭐⭐确认账号权限范围排除功能本身未开放的可能性⭐⭐⭐Codex Desktop 报Computer Use 插件不可用的本质是客户端内置的插件资源在本地未被正确解包或注册到插件市场索引中,而不是真的缺少安装包。优先尝试让 Codex 自身检测并修复本地插件环境。

一键难忘的博客 5981

贪心算法

贪心算法中“贪心”二字形象的说明了该算法的基本思想:贪心(每一步选择都是眼下的局部最优选择)。比如每次给你1张面额不定的纸币,共10次,你这么选?肯定是每次都要一张100元的。当你要拿第一张时,此时眼下最优的选择就是拿一张100的,不会管拿了之后会不会对后面的9张产生影响。这就是一种贪心,当然这种情况下的贪心选择也是最优的选择,因为局部最优导致了整体的最优。贪心算法常用于求解最优解问题,比动态规划...

BIGBAI的博客 603

matlab 点云按高程进行赋色【2024最新版】

首先按照Z轴方向求取所在点云的高程极值(包括高程最大值与最小值),然后将高程归一化到0~255范围内,最后采用matlab中的colormap颜色渲染函数进行赋色并保存渲染结果到点云。

点云侠的博客 3341

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【算法设计与分析】贪心算法

一、贪心算法 在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。 从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。 如果一个问题可以同时用几种方法解决,贪心算法应该是最好的选择之一。 二、贪心算法的理论基础 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优的选择,希望得到结

a765528534的博客 685

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

贪心算法基本思路及典型例题

贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。 贪心思路: 贪心算法一般按如下步骤进行 ①建立数学模型来描述问题 。 ②把求解的问题分成若干个子问题。 ③对每个子问题求解,得到子问题的局部最优解 。 ④把子问题的解局部最优解合成原来解问题的一个解。 使用条件 1、贪心选择性质 一个问题的整体最优解可通过一系列局部的最优解

weixin_46507363的博客 4481

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

头歌实验平台——二叉树核心算法与哈夫曼编码实战

本文以头歌实验平台为依托,系统讲解了二叉树核心算法与哈夫曼编码的实战应用。从二叉链表的创建与遍历入手,逐步深入节点统计、高度计算、镜像变换等操作,并最终实现哈夫曼树的构建、编码与解码全过程,帮助读者通过实践掌握数据结构的关键知识与贪心算法的应用。

c2d3e4f的博客 483

算法--贪心算法

贪心算法 1 定义 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 2...

weixin_41563161的博客 239

算法设计与分析实验四:贪心算法

通过这次实验我理解了贪心算法策略是在对问题求解时,不断取局部最优解,进而找到问题最优解,贪心算法适用于解决优化问题,是采用了自顶向下的思想,将问题规模逐渐缩小,其可以解决的问题通常有两个性质:最优子结构和贪心选择性质。贪心算法是采用了自顶向下的思想,将问题规模逐渐缩小,其可以解决的问题通常有两个性质:最优子结构和贪心选择性质。输入数据的第一行有1 个正整数k(k≤10000),表示有k个待安排的活动。接下来的k行中,每行有2个正整数,分别表示k个待安排的活动开始时间和结束时间。//记录会议的结束时间。

小柴 1178

贪心算法思想和应用

算法思想 当一个问题具有最优子结构性质时,可以用动态规划法求解,但有时使用贪心算法更简单,更直接而且解决问题的效率更高。 例如前面动态规划算法中的硬币问题就可以用贪心算法解决,从算法名字上来看,贪心算法总是做出在当前看来最好的选择,也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的局部最优选择,当然最终希望贪心算法得到的最终结果也是最优的。 虽然贪心算法不能对所有问题都得到整体最优解,但是对于很多问题它能够产生整体最优解,或者最趋近于最优解。 一般用贪心算法解决问题提问都是:最多、最少.

qq_41721746的博客 1314
上一篇: 头哥-分治法-中值问题
下一篇: 第1关:经典兔子问题——递归
草根研究生
博客等级 码龄5年 12粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值