游游的水果大礼包(枚举)

题目链接:https://ac.nowcoder.com/acm/problem/255193

题解

题目解析

就拿第一个例子来看,当选择组成1个一号礼包和1个二号礼包时最大的价值是3元,而选择2个二号礼包时,最大的价值是4元,因此选择2个二号礼包。

算法原理

采用枚举的方法进行解题(这里使用贪心是不行的,在文末会解释为啥不行)。

代码编写

#include<iostream>
#include<algorithm>
using namespace std;int main()
{long long  n = 0,m = 0,a = 0,b = 0;cin>>n>>m>>a>>b;long long ret = 0;for(long long x = 0;x<=min(n/2,m);++x)//枚举X的个数{long long y = min(n-2*x,(m-x)/2);//通过X来计算Yret = max(ret,a*x+b*y);}std::cout<<ret<<std::endl;return 0;
}

贪心不可以的原因

这道题一开始会让人很容易就想到使用贪心,在苹果和桃子的数量允许的范围内,选择价值最大的那个礼包,最后再根据边界情况去选择一号礼包或者二号礼包,但是这里有个问题就是:

举个例子:n = 2 ,m = 100 ,a = 3,b = 2;

选择贪心算法去写,那么会选择1个一号礼包,此时的价值是3元,苹果的数量为0,结束。但是可以发现,如果选择2个二号礼包,最大的价值是4元。因此,贪心算法是不可行的。

枚举的题型总结

像本题,出现可以构成方程式,并且可以使用已有条件去解析方程式时,可以使用枚举,将其中的一个未知量枚举,使用该枚举出来的未知量进行计算另外一个未知量从而解出方程式,最终得到答案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2-23 基于matlab的小波变换碰磨故障信号的特征提取

基于matlab的小波变换碰磨故障信号的特征提取&#xff0c;可以画出信号原图&#xff0c;轴心轨迹&#xff0c;频谱图以及多层小波变换的重构信号。程序已调通&#xff0c;可直接运行。 2-23 小波变换 碰磨故障信号 轴心轨迹 - 小红书 (xiaohongshu.com)

工厂设计模式的实现与应用场景分析

工厂设计模式的实现与应用场景分析 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 工厂设计模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模…

Spring Boot 中使用 Spring Security 实现安全访问权限管理:详尽指南

引言&#xff1a; 在现代Web应用开发中&#xff0c;安全是一个至关重要的环节。Spring Security 是一个功能强大且高度可定制的安全框架&#xff0c;能够为Spring Boot应用提供全面的安全解决方案&#xff0c;包括认证&#xff08;Authentication&#xff09;和授权&#xff0…

html+css+js写的多人在线积分系统

可以添加成员&#xff0c;成员名称自定义 可以对各个成员加分减分➕➖ 可以删除成员 源码在图片下面&#xff0c;记得点赞加关注❤️❤️❤️ 界面 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8">…

2.2.5 C#中显示控件BDPictureBox 的实现----ROI交互续2

2.2.5 C#中显示控件BDPictureBox 的实现----ROI交互续2 1 ROI数组作用说明 变量&#xff1a;m_ROIs[5] ROI 使用效果图 ROI数组说明 2 ROI显示逻辑图 ROI 交互主要是在设定状态下&#xff0c; runmode下只要普通显示即可 3 主要ROI显示函数函数 判断当前鼠标是否获取…

怎么快速给他人分享图片?扫描二维码看图的简单做法

现在通过二维码来查看图片是一种很常见的方法&#xff0c;通过二维码来查看图片不仅能够减少对手机存储空间的占用&#xff0c;而且获取图片变得更加方便快捷&#xff0c;只需要扫码就能够查看图片&#xff0c;有利于图片的展现。很多的场景中都有图片二维码的应用&#xff0c;…

个人微信二次开发

​ 由于自身在机器人方面滚爬多年&#xff0c;现在收藏几个宝藏机器人 推荐一下自己常用的机器人&#xff1a; 适合有技术开发的公司&#xff0c;可以自主开发所需要的功能&#xff01;十分齐全 测试问文档&#xff1a;https://www.wkteam.cn/ 有需要的兄弟可以看一下&#…

题库-编程题

1&#xff0e;用循环的嵌套&#xff0c;输出输出如下图形 * * * * * * * * * * * * * * * * * * * * * * * * * package Exercises.One_Hundred; ​ public class Demo01 {public static void main(String[] args) {for(int i1;i<5;i){for(int j1;j<2*i-1;j){Sys…

音视频同步的关键:深入解析PTS和DTS

&#x1f60e; 作者介绍&#xff1a;我是程序员行者孙&#xff0c;一个热爱分享技术的制能工人。计算机本硕&#xff0c;人工制能研究生。公众号&#xff1a;AI Sun&#xff0c;视频号&#xff1a;AI-行者Sun &#x1f388; 本文专栏&#xff1a;本文收录于《音视频》系列专栏&…

App备案过程中遇到的一些注意事项

上一篇从零开始完成App的ICP备案我们大致的把App的备份过了一遍&#xff0c;这次主要说下中途可能遇到的坑。 App备案需要通过接入服务商备案&#xff0c;同时需要域名、备案码&#xff08;1个app一个&#xff0c;android和ios版本共享&#xff09; 1. 备案名称 备案的名称就…

Vue.js 中 ref 和 reactive 的区别及用法

Vue.js 中 ref 和 reactive 的区别及用法 ref 目的&#xff1a;创建一个对值的响应式引用。 用法&#xff1a;通过 .value 属性来访问和修改值。 示例&#xff1a; import { ref } from vue;const count ref(0);count.value; // 增加值 console.log(count.value); // 访…

STM32 ADC精度提升方法

STM32 ADC精度提升方法 Fang XS.1452512966qq.com如果有错误&#xff0c;希望被指出&#xff0c;学习技术的路难免会磕磕绊绊量的积累引起质的变化 硬件方法 优化布局布线&#xff0c;尽量减小其他干扰增加电源、Vref去耦电容使用低通滤波器&#xff0c;或加磁珠使用DCDC时尽…

RS232隔离器的使用

RS232隔离器在通信系统中扮演着至关重要的角色&#xff0c;其主要作用可以归纳如下&#xff1a; 一、保护通信设备 电气隔离&#xff1a;RS232隔离器通过光电隔离技术&#xff0c;将RS-232接口两端的设备电气完全隔离&#xff0c;从而避免了地线回路电压、浪涌、感应雷击、静电…

el-upload组件封装方案

basic-upload.vue——基本上传组件 <template><div class"basic-upload-wrap"><el-uploadref"uploadRef":file-list"fileList":accept"accept"update:file-list"(data) > emits(update:file-list, data)"…

vue+js实现鼠标右键页面时在鼠标位置出现弹窗

首先是弹窗元素 <div class"tanchuang move-win1"id"tanchuang1"><el-button>111</el-button></div>然后在需要弹窗的地方监听点击事件&#xff0c;可以将这个方法写在页面载入事件中 // 获取弹窗元素 var tanchuang document.…

lua中判断2个表是否相等

当我们获取 table 长度的时候无论是使用 # 还是 table.getn 其都会在索引中断的地方停止计数&#xff0c;而导致无法正确取得 table 的长度&#xff0c;而且还会出现奇怪的现象。例如&#xff1a;t里面有3个元素&#xff0c;但是因为最后一个下表是5和4&#xff0c;却表现出不一…

一篇文章搞懂时间复杂度和空间复杂度

不知道小伙伴们有没有刷过力扣上的算法题&#xff0c;我在上研究生的时候&#xff0c;刷过了前40道题&#xff0c;上面的算法题&#xff0c;我觉得还挺难的&#xff0c;当你写完代码的时候&#xff0c;就可以提交自己写的代码到系统上&#xff0c;系统会给你写的代码计算时间复…

页面速度是如何影响SEO的?

搜索引擎使用复杂的算法来衡量您网站的重要方面&#xff0c;以决定是否向您发送流量。 搜索引擎使用您网站的小元素来确定您网站的质量和真实性&#xff0c;然后此操作将转化为您的网页在搜索引擎结果页面 中出现的位置。提高您在 SERP 中的排名的过程称为搜索引擎优化 (SEO)。…

【c】如何利用C语言控制可用性(用户是否可以修改值)

引入: 大家有没有想过设计一个函数控制功能的使用权限或变量修改权限? 我们首先来看代码: #include<stdio.h> bool usability==false;//初始值设为false是为了检查第一次设置有没有设置成功void setUsability(bool choice){usability=choice; } void printUsabilit…

JavaScript学习笔记(六)

37、JavaScript 错误 - Throw 和 Try to Catch try 语句使您能够测试代码块中的错误。 catch 语句允许您处理错误。 throw 语句允许您创建自定义错误。 finally 使您能够执行代码&#xff0c;在 try 和 catch 之后&#xff0c;无论结果如何。 37.1 JavaScript try 和 catc…