九度 1209:最小邮票数(多重背包)

题目描述:

    有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值
    如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可

 

思路

1. 朴素背包问题

2. 假设 dp[i][j] 表示前 i 件物品拼成 j 分的最少邮票数

dp[i][j] = min(dp[i-1][j], dp[i-1][j-value[i]]+1)

3. 转化成一维背包 dp[v] = min(dp[v], dp[v-value[i]]+1)

 

代码 未通过九度测试

#include <iostream>
#include <stdio.h>
#include <memory.h>
using namespace std;const int INF = 0X3F3F3F3F;
int M, N;
int stamps[200];
int dp[200];int main() {freopen("testcase.txt", "r", stdin);while(scanf("%d", &M) != EOF) {scanf("%d", &N);for(int i = 0; i < N; i ++) {scanf("%d", stamps+i);}memset(dp, 0x3F, sizeof(dp));dp[0] = 0;for(int i = 0; i < N; i ++) {for(int v = M; v >= stamps[i]; v --) {dp[v] = min(dp[v], dp[v-stamps[i]]+1);}}if(dp[M] == INF)cout << 0 << endl;elsecout << dp[M] << endl;}return 0;
}

 

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

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

相关文章

Linux 设备驱动开发思想 —— 驱动分层与驱动分离

前面我们学习I2C、USB、SD驱动时&#xff0c;有没有发现一个共性&#xff0c;就是在驱动开发时&#xff0c;每个驱动都分层三部分&#xff0c;由上到下分别是&#xff1a; 1、XXX 设备驱动 2、XXX 核心层 3、XXX 主机控制器驱动 而需要我们编写的主要是设备驱动部分&#xff0c…

关于JDOM

1、首先&#xff0c;在资源网站下载JDOM插件。在工程中加载JDOM_XX.jar。 package test;import java.io.FileOutputStream; import java.io.IOException; import java.util.List;import oracle.net.aso.p;import org.jdom2.Attribute; import org.jdom2.Comment; import org.jd…

CortexM0开发 —— UART时序分析

通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter)&#xff0c;通常称作UART&#xff0c;是一种异步收发传输器。将数据由串行通信与并行通信间作传输转换&#xff0c;作为并行输入成为串行输出的芯片UART是一种通用串行数据总线&#xff0c;用于异步通信。该总线…

python 处理python编码的基本过程

概括、从python1.6开始就可以处理unicode字符了。出处:http://developer.51cto.com/art/201012/241226.htm一、几种常见的编码格式。1.1、ascii&#xff0c;用1个字节表示。1.2、UTF-8,用1个至三个字节表示&#xff0c;表示ascii码时只占用1个字节&#xff0c;ascii编码是UTF-8…

CortexM0开发 —— LPC11C14的UART使用方法

LPC1100系列微控制器UART LPC1100系列Cortex-M0微控制器具有一个符合16C550工业标准的异步串行口&#xff08;UART&#xff09;。此口同时增加了调制解调器&#xff08;Modem&#xff09;接口&#xff0c;DSR、DCD和RI Modem信号是只用于LQFP48和PLCC44封装的管脚配置。 特性…

Linux SD卡驱动开发(一) —— SD 相关基础概念

一.SD/MMC卡基础概念 1.1.什么是MMC卡 MMC&#xff1a;MMC就是MultiMediaCard的缩写&#xff0c;即多媒体卡。它是一种非易失性存储器件&#xff0c;体积小巧(24mm*32mm*1.4mm)&#xff0c;容量大,耗电量低,传输速度快&#xff0c;广泛应用于消费类电子产品中。 1.2.什么是SD卡…

Java 源码赏析 - java.lang - Void

被人鄙视了&#xff0c;于是也来读读源码。。。 package java.lang;/*** The Void class is an uninstantiable placeholder class to hold a* reference to the Class object representing the Java keyword* void.** author unascribed* version %I%, %G%* since JDK1.1*/…

Linux系统文件类型 特殊文件 和 进程间通信机制

Linux主要文件类型&#xff1a;1:普通文件&#xff08;第一个属性用“-”表示&#xff09;普通文件就是我们通常访问的文件&#xff0c;由ll命令显示出来的属性中&#xff0c;第一个属性为“-”&#xff0c;例如【-rwxr-----】。我们根据文件的内容&#xff0c;又可以将普通文件…

Linux SD卡驱动开发(二) —— SD 卡驱动分析HOST篇

回顾一下前面的知识&#xff0c;MMC 子系统范围三个部分&#xff1a; HOST 部分是针对不同主机的驱动程序&#xff0c;这一部是驱动程序工程师需要根据自己的特点平台来完成的。 CORE 部分: 这是整个MMC 的核心存&#xff0c;这部分完成了不同协议和规范的实现&#xff0c;并为…

MVC应用程序显示RealPlayer(rm)视频

本篇博文是演示MVC应用程序显示RealPlayer视频。 客户端能观看到RealPlayer视频&#xff0c;前提条件是需要安装RealPlayer客户端&#xff0c;就是想看Falsh或理WMV视频一样&#xff0c;均要安装客户端或相关插件等。 Insus.NET实现方法&#xff0c;还是在控制器中Render RealP…

Linux从入门到精通系列之PPTP

Linux从入门到精通系列之PPTP今天我们来说下怎么在linux环境下如何搭建PPTP-&#xff0c;PPTP&#xff08;Point to Point Tunneling Protocol&#xff09;&#xff0c;即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议&#xff0c;支持多协议虚拟专用…

Linux SD卡驱动开发(三) —— SD 卡驱动分析CORE篇

废话不多说&#xff0c;直接切进主题&#xff1a; Linux在内核源码的drivers/mmc/core文件夹下为我们的提供了一系列SD卡的接口服务函数。可以查看Makefile如下 可见&#xff0c;core文件夹下有针对总线的服务bus.c&#xff0c;针对主控制器的服务host.c&#xff0c;针对SD卡的…

Python数值计算:一 使用Pylab绘图(1)

Pylab的使用 学习使用Python进行科学计算&#xff0c;然而很难找到简单实用&#xff0c;又循序渐进的例子。正好手边有一本《Matlab可视化大学物理学》&#xff0c;里面的例子非常清晰地解释了Matlab在物理学中的应用。重新使用Python实现这些例子&#xff0c;学习了Python&…

Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作

前面对SD卡控制器有了一个基本的介绍。其实SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法&#xff0c;当然不同的控制器对硬件控制的方法不尽相同&#xff0c;但是他们最终都能像core层提交一个统一的封装有操作方法的数据结构&#xff0c;那便是即将闪亮登场…

android 面试总结,后续注意学习

1、数据结构和算法一般情况下&#xff0c;工作中是用不到的&#xff0c;但是就是问&#xff0c;每个公司都问&#xff0c;而且有的公司还问的特别深&#xff0c;还让你手写代码。我觉得这个确实有点恶心&#xff0c;我个人也是很讨厌算法的&#xff0c;但是真是没办法&#xff…

Linux SD卡驱动开发(五) —— SD 卡驱动分析Core补充篇

Core层中有两个重要函数 mmc_alloc_host 用于构造host&#xff0c;前面已经学习过&#xff0c;这里不再阐述&#xff1b;另一个就是 mmc_add_host,用于注册host 前面探测函数s3cmci_probe&#xff0c;现在就来回顾一下这个函数的作用。先简要的概括一下这个函数的功能&#xff…

navicat连接oracle 报 ORA-12737 set CHS16GBK

2019独角兽企业重金招聘Python工程师标准>>> 1首 先&#xff0c;我们打开“工具”-->"选项"菜单&#xff0c;见到如下界面&#xff0c;依据OCI library(oci.dll) 路径&#xff0c;导航到 navicat oci 目录下&#xff0c;备份里面的文件&#xff08;通过…

Linux SD卡驱动开发(六) —— SD卡启动过程总体分析

一、工作流程 mmc驱动主要文件包括 drivers/mmc/card/block.c drivers/mmc/card/queue.c drivers/mmc/core/core.c drivers/mmc/core/host.c drivers/mmc/core/ 内核启动时&#xff0c;首先执行core/core.c的mmc_init&#xff0c;注册mmc、sd总线&#xff0c;以及一个host clas…

svn怎么上传文件 — 百度经验无耻推广

2019独角兽企业重金招聘Python工程师标准>>> svn怎么上传文件 — 欢乐地点进去捧场 PS&#xff1a;觉得笔者太无耻&#xff0c;直接在下方评论抨击 转载于:https://my.oschina.net/cenqingbo/blog/212284

路由器和交换的本质区别解析

面试中经常遇到此类问题&#xff0c;首先我们遇到此类问题必须明白题目所要考察我们的目的是什么&#xff1a; 1&#xff1a;考察点&#xff1a;这类问题主要考察面试者对路由器和交换机的基本概念和工作原理的掌握程度&#xff0c;面试官主要是想了解面试者基础知识是否牢固。…