nyoj 311 和995

这两个题其实是一个解法



完全背包

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 4
描述

直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO

输入
第一行: N 表示有多少组测试数据(N<7)。 
接下来每组测试数据的第一行有两个整数M,V。 M表示物品种类的数目,V表示背包的总容量。(0<M<=2000,0<V<=50000)
接下来的M行每行有两个整数c,w分别表示每种物品的重量和价值(0<c<100000,0<w<100000)
输出
对应每组测试数据输出结果(如果能恰好装满背包,输出装满背包时背包内物品的最大价值总和。 如果不能恰好装满背包,输出NO)
样例输入
2
1 5
2 2
2 5
2 2
5 1
样例输出
NO
1



硬币找零

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 3
描述
在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计 算最少的找零硬币数,以便他们能从银行拿回最少的硬币数,并保证能用这些硬币发工资。
我们应该注意到,人民币的硬币系统是 100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,
0.02,0.01 元,采用这些硬币我们可以对任何一个工资数用贪心算法求出其最少硬币数。 
但不幸的是: 我们可能没有这样一种好的硬币系统, 因此用贪心算法不能求出最少的硬币数, 甚至有些金钱总数还不能用这些硬币找零。例如,如果硬币系统是 40,30,25 元,那么 37 元就不能用这些硬币找零;95 元的最少找零硬币数是 3。又如,硬币系统是 10,7,5,1 元,那么 12 元用贪心法得到的硬币数为 3,而最少硬币数是 2。 
你的任务就是:对于任意的硬币系统和一个金钱数,请你编程求出最少的找零硬币数;
如果不能用这些硬币找零,请给出一种找零方法,使剩下的钱最少。 

输入
输入数据: 
第 1 行,为 N 和 T,其中 1≤N≤50 为硬币系统中不同硬币数;1≤T≤100000 为需要用硬币找零的总数。 
第 2 行为 N 个数值不大于 65535 的正整数,它们是硬币系统中各硬币的面值。
当n,t同时为0时结束。
输出
输出数据: 
如 T 能被硬币系统中的硬币找零,请输出最少的找零硬币数。 
如 T 不能被硬币系统中的硬币找零,请输出剩下钱数最少的找零方案中的最少硬币数。
样例输入
4 12
10 7 5 1
样例输出
2


这两个题其实是一类问题 

都是找的是否正好足够  


这就是普通的背包的一特判了  ,

首先  我们正常背包的初始方法是  数组为0.

但是对于需要正好的情况的时候 


我们只要把背包的初始值都变成一个极大的负数 

让0的位置为0




这是995的代码
#include <iostream>
#include <stdio.h>
#include <iomanip>
#include <cmath>
#include <cstring>
#include <string>
using namespace std;
int a[100005];
int d[100005];
int main()
{int n,m;while(cin>>n>>m){int i;for(int i=0;i<n;i++)  cin>>a[i];memset(d,-1000000,sizeof(d));// cout<<d[0]<<endl;d[0]=0;for(int i=0;i<n;i++){for(int j=a[i];j<=m;j++){if(d[j-a[i]]+1>=0&&d[j]>=0){d[j]=min(d[j-a[i]]+1,d[j]);}else d[j]=max(d[j-a[i]]+1,d[j]);}}// for(int i=0;i<=m;i++)cout<<d[i]<<endl;cout<<endl;if(d[m]>0) cout<<d[m]<<endl;}
}





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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

comp9334-proj2

对本文有疑问可以加微信 Tutor_0914联系。也可以访问我的个人辅导网站 &#xff1a; tutoryou 解析 原文 COMP9334 Project, Term 1, 2022: Priority queueing for server farms Due Date: 5:00pm Friday 22 April 2022 Version 1.01, 20 March 2022 Updates to the projec…

AWR2243

TDA2xx-AWRx243 TI毫米波板&#xff08;代完善更新和作者的继续研究&#xff09; 1、安装mmwave studio和驱动&#xff08;链接&#xff1a; https://download.csdn.net/download/weixin_42501561/19775644 &#xff09; 2、设置网络端口IP地址&#xff08;如果不能更改路由器I…

Window基础命令

文章目录 查看哪些端口被禁用TCP协议删除开机启动项方案1方案2 查看哪些端口被禁用TCP协议 netsh interface ipv4 show excludedportrange protocoltcp删除开机启动项 方案1 列出所有启动项 bcdedit /enum仔细看你要删除的是哪一项&#xff08;看description&#xff09;&a…

Git企业开发控制理论和实操-从入门到深入(六)|多人协作开发

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

SpringBoot在IDEA里实现热部署

使用步骤 1.引入依赖 <!--devtools热部署--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional><scope>true</scope><versi…

Django基础6——数据模型关系

文章目录 一、基本了解二、一对一关系三、一对多关系3.1 增删改查3.2 案例&#xff1a;应用详情页3.2 案例&#xff1a;新建应用页 四、多对多关系4.1 增删改查4.2 案例&#xff1a;应用详情页4.3 案例&#xff1a;部署应用页 一、基本了解 常见数据模型关系&#xff1a; 一对一…

算法通过村第四关-栈青铜笔记|手写栈操作

文章目录 前言1. 栈的基础概要1.1 栈的特征1.2 栈的操作1.3 Java中的栈 2. 栈的实现&#xff08;手写栈&#xff09;2.1 基于数组实现2.2 基于链表实现2.3 基于LinkedList实现 总结 前言 提示&#xff1a;我自己一个人的感觉很好 我并不想要拥有你 除非你比我的独处更加宜人 --…

安利超实用的(cc协议)游戏3d模型素材网站

前方干货满满&#xff0c;建议先收藏再看哦&#xff01;为大家整理&#xff08;cc协议&#xff09;游戏3d模型素材&#xff0c;总有满足你需求的一款&#xff0c;除此之外&#xff0c;免费&#xff0c;资源质量好&#xff0c;一键打包下载&#xff0c;你还不心动吗&#xff1f;…

基于VHDL语言的汽车测速系统设计_kaic

摘 要 汽车是现代交通工具。车速是一项至关重要的指标。既影响着汽车运输的生产率,又关乎着汽车行驶有没有超速违章&#xff0c;还影响着汽车行驶时人们的人身安全。而伴随着我国国民的安全防范意识的逐步增强&#xff0c;人们也开始越来越关心因为汽车的超速而带来的极其严重…

在Adobe illustrator中创建线呼吸描记器

Spirographs look complex, but most of them aren’t that hard to create. As promised, here is a follow-up tutorial on how to create a spirograph, only this time it’s a different kind of spirograph than the one we’ve created before. We’ll create a line sp…

当前最强的免费AI画图、AI绘图工具-2

Midjourney比较贵&#xff0c;而且无法访问&#xff0c;Stable Diffusion部署起来很麻烦。网上有哪些可以直接在网页端或者下载的app可以实现AI画图的工具。我们整理了45个相关工具&#xff0c;这是系列2&#xff0c;收录到 当前最强的免费AI画图、AI绘图工具-2https://www.web…

AI绘画扩展安装

想问一下各位大佬&#xff0c;有没有懂这个的&#xff0c;能不能帮我解决一下这个是啥问题&#xff0c;一直安装不了&#xff0c;拜托了&#xff0c;万分感谢

AI-绘图

人工智能肯定是未来的趋势&#xff0c;随着AI的不断发展&#xff0c;ai遍及的方面肯定越来越多。今天我想推荐的是一款免费的关于绘图的AI产品——KOAYEE元宇宙。它只需根据自己提供关键词就能够生成4张不同角度风格的图片&#xff0c;并且可以自己上传图片&#xff0c;融合关键…

Adobe Illustrator 2023 for mac安装教程,可用。

Adobe Illustrator 是行业标准的矢量图形应用程序&#xff0c;可以为印刷、网络、视频和移动设备创建logos、图标、绘图、排版和插图。数以百万计的设计师和艺术家使用Illustrator CC创作&#xff0c;从网页图标和产品包装到书籍插图和广告牌。此版本是2023版本&#xff0c;适配…

adobe illustrator的描边如何选择 HSB 空间

坑 1、 2、 这个空间 如何修改成&#xff1f; H 的色调空间&#xff1f; adobe illustrator 颜色修改为色调空间 坑&#xff1b; 好像不行&#xff0c;

李沐pytorch学习-BatchNormalization

一、意义 在使用较深的网络时&#xff0c;BatchNormalization&#xff08;批量归一化&#xff09;几乎是必需的&#xff0c;可以加速收敛。 对于图1所示的全连接层神经网络&#xff0c;输出节点的GroundTruth为&#xff0c;损失函数为&#xff0c;则损失对权重的梯度为&#xf…

Linux服务——nginx的配置及模块

目录 一、nignx配置 1、nginx的配置文件 2、使用server语句块构建虚拟主机 3、alias别名 4、location语句 二、nginx模块 access模块 验证模块 自定义错误页面 日志存放位置 检测文件是否存在 长连接设置 ngx_http_autoindex_module 模块 三、nginx的高级配置 1、…

大一新生计算机专业要选课,大一新生抢不到选修课怎么办 大学抢课技巧

选修课对于大部分人来说是一个新鲜的名词&#xff0c;科目都是学生自己挑选&#xff0c;不强求&#xff0c;但是有时会有抢不到课的情况&#xff0c;下面是小编整理的详细内容&#xff0c;一起来看看吧&#xff01; 大一新生抢不到选修课怎么办 大一新生抢不到选修课也不要心慌…

计算机人工智能专业大一新生入学前做点什么[及给家长的话]

目前很多同学陆续收到了录取通知书&#xff0c;已经激动地期盼大学生活&#xff0c;我之前写过一些文字&#xff0c;这次我增加了“写给家长的话”&#xff0c;再次发出。 写给家长的话 家长需要意识到&#xff0c;进入大学后孩子将面临一系列困难。越是好大学&#xff0c;入学…

大一新生计算机类专业入门

Java资深小白&#xff0c;不足之处&#xff0c;或者有任何错误欢迎指出。 --蓝紫程序员是出了名的高薪职业&#xff0c;而近几年的人工智能、大数据更是卷起又一波IT热。今年&#xff0c;身边的小年轻们高考志愿大都倾向了计算机类专业&#xff0c;老学姐在这里告诉你们&#x…