蓝桥杯备考:贪心算法简介

server/2025/2/13 23:15:25/

算法>贪心算法就是企图用局部最优的策略找出全局最优步骤就是1,把解决问题的过程分成若干步。2,每一步都选择当前看起来最优的解法 。 3,希望得到全局最优的结果

比较经典的例题一个就是

找零问题

钞票种类[20,10,5,1]用最小的张数找零46的时候,先把最大的20的找完,然后找10的,再找5的,最后再找1的直到不能再找,过程就是 46:找零20 ---》 26:找零20  -----》 6  :找零5 -----》 1 :找零1 -----》 0

另一个就是最小路径和问题

我们如果用贪心的话,一定是先从下走,因为2是比4小的,然后再从右走,加起来就是1+2+1+10+1=15,但是这个贪心策略一定对吗?不一定,先从右走的话路径和是更小的

有时候啊,局部最优是不等同于全局最优的,所以我们要对贪心策略进行证明

比如我们证明一下找零问题的正确,找零问题有个性质就是 设20的张数为A,10的是B,5的是C,1的是D,B一定≤1,如果大于1的话可以用20来替代,B=2的时候可以换成一张20的,B=3的时候可以换成一张20的和一张10的,C小于等于1,D小于等于4 如果C大于1可以用10来替代,如果D大于5可以用5来替代

好的,设贪心策略的结果是  a b c d  正确是A B C D

一定可以得出a是大于等于A的,因为贪心策略是取到不能再取,如果a大于A的时候,没有用到A的钱数一定是大于20的,然而根据我们正确策略的性质,没有用到A的剩余钱数应该是<=10+5+4=19的,所以a不会大于A,a是等于A的,其他证明同理

贪心策略是很难想到的,我们前期要积极的汲取经验

在平常学习的时候,我们尽可能证明一下贪心策略的正确性,这有利于培养我们严谨的思维,但是我们在比赛的时候,如果很多边界情况能过了,我们就可以写代码了,在赛完再严谨的证明一下


http://www.ppmy.cn/server/167454.html

相关文章

Android10 音频参数导出合并

A10 设备录音时底噪过大&#xff0c;让音频同事校准了下&#xff0c;然后把校准好的参数需要导出来&#xff0c;集成到项目中&#xff0c;然后出包&#xff0c;导出方式在此记录 设备安装debug系统版本调试好后&#xff0c; adb root adb remount adb shell 进入设备目录 导…

HTML 链接

HTML 链接 引言 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;而链接是网页中不可或缺的元素。链接不仅能够连接到其他网页&#xff0c;还能实现网页内部内容的跳转。本文将详细介绍HTML链接的用法、属性以及如何实现链接的优化。 HTML链接的基本…

win11+mac键盘+PowerToys 重映射热键

在win11系统中&#xff0c;使用mac的蓝牙键盘&#xff0c;键盘本身没有PrintScreen键。这时可以借助PowerToys来将其他键映射到系统的PrintScreen. 1.下载安装PowerToys 地址https://learn.microsoft.com/zh-cn/windows/powertoys/ 2.打开PowerToys&#xff0c;选中【键盘管理器…

解决 Sentinel 控制台无法显示 OpenFeign 资源的问题

前言 在使用 Spring Cloud Alibaba Sentinel 进行微服务治理时&#xff0c;可能会遇到 Sentinel 控制台无法显示 OpenFeign 资源的问题。本文将详细分析问题的原因&#xff0c;并提供解决方案。 一、问题描述 在 Sentinel 控制台 1.8.8 版本中&#xff0c;簇点链路&#xff…

【github】docker realtime

Linux和Docker实时指南&#xff0c;适用于Ubuntu实时内核和PREEMPT_RT ReadMe.md 作者&#xff1a;Tobit Flatscher&#xff08;2021 - 2024&#xff09; 概述 本指南解释了如何在Linux操作系统内开发/部署运行实时代码的Docker容器。因此&#xff0c;它会带你了解&#xf…

Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API&#xff0c;以及本地私有化部署DeepSeek R1模型两种方式来整合使用。 本地化私有部署可以参考这篇博文 全面认识了解DeepSeek利用ollama在本地部署、使用和体验deepseek-r1大模型 Spring版本选择 根据Spring官网的描述 Spring AI是一…

React进阶之React状态管理CRA

React状态管理&CRA 状态管理理论讲解案例 context 上下文结合状态来维护todoListindex.jsApp.jsTaskList.jsTasksContext.jsAddTask.js Escape 脱围机制refforwardRef&#xff08;不建议使用&#xff09; CRA 状态管理 理论讲解 如何针对 effect -> 对action的触发 -&…

生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 上

生成式聊天机器人 -- 基于Pytorch Global Attention 双向 GRU 实现的SeqToSeq模型 -- 上 前言数据预处理下载并加载数据原始数据格式化数据清洗与字典映射转换为模型需要的数据格式 SeqToSeq 模型Encoder 编码器Decoder 解码器全局注意力机制解码器实现 前言 本文会介绍使用…