P1021 邮票面值设计

P1021 邮票面值设计

题目描述

给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1~MAX之间的每一个邮资值都能得到。

例如,N=3,K=2,如果面值分别为1分、4分,则在1分~6分之间的每一个邮资值都能得到(当然还有8分、9分和12分);如果面值分别为1分、3分,则在1分~7分之间的每一个邮资值都能得到。可以验证当N=3,K=2时,7分就是可以得到的连续的邮资最大值,所以MAX=7,面值分别为1分、3分。

输入输出格式

输入格式:

 

2个整数,代表N,K。

 

输出格式:

 

2行。第一行若干个数字,表示选择的面值,从小到大排序。

第二行,输出“MAX=S”,S表示最大的面值。

 

输入输出样例

输入样例#1:
3 2
输出样例#1:
1 3
MAX=7
分析:深度优先搜索+动态规划,搜索邮票的不同面值,用动态规划求出这些不同面值的邮票能组合出的最大连续数:
设f[i]表示已知面值的邮票组合出面值为i所需要的最小邮票数,我们把已知的q种不同的邮票面值存在a中,则有状态转移方程:
f[i]=min{f[i-a[j]]+1}      
然后深度搜索可能的面值组合,然后不断更新最大值即可

 

 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 int f[1000100],a[110],ans[110];
 5 int maxn,n,k;
 6 void dp()
 7 {
 8     int i=0;
 9     f[0] = 0;
10     while (f[i]<=n)
11     {
12         i++;
13         f[i] = 1e8;
14         for (int j=0; j<k&&i>=a[j]; ++j)
15             f[i] = min(f[i],f[i-a[j]]+1);
16     }
17     if (i-1>maxn)
18     {
19         maxn = i-1;
20         for (int j=0; j<k; ++j)
21             ans[j] = a[j];
22     }
23 }
24 void dfs(int step)
25 {
26     if (step==k) 
27     {
28         dp();
29         return ;
30     }
31     for (int i=a[step-1]+1; i<=a[step-1]*n+1; ++i)
32     {
33         a[step] = i;
34         dfs(step+1);
35     }
36 }
37 int main()
38 {
39     scanf("%d%d",&n,&k);
40     a[0] = 1;
41     dfs(0);
42     for (int i=0; i<k; ++i)
43         printf("%d ",ans[i]);
44     printf("\nMAX=%d\n",maxn);
45     return 0;
46 }

转载于:https://www.cnblogs.com/mjtcn/p/7082195.html

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

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

相关文章

第七章:XAML vs. code(3)

属性元素语法这里有一些C&#xff03;与第4章中的FramedText代码相似。在一个语句中&#xff0c;它实例化一个Frame和一个Label&#xff0c;并将Label设置为Frame的Content属性&#xff1a; new Frame {OutlineColor Color.Accent,HorizontalOptions LayoutOptions.Center,Ve…

QtCreator5.12.6安装图文教程

前言接触过Qt的同学肯定用过QtCreator,本id最近常用&#xff0c;也就写个教程记录一下安装的过程。可能比较少人学过Qt&#xff0c;感觉Qt还是挺不错的&#xff0c;做出来的界面还算好看&#xff0c;关键是跨平台。说明&#xff1a;安装的系统&#xff1a;win10专业版QtCreator…

H.264学习(一)——帧和场的概念

一、何谓场&#xff1f; 每个电视帧都是通过扫描屏幕两次而产生的&#xff0c;第二个扫描的线条刚好填满第一次扫描所留下的缝隙。每个扫描即称为一个场。因此 25 帧/秒的电视画面实际上为 50 场/秒 (若为 NTSC 则分别为 30 & 60 - 因为我是中国人&#xff0c;因此我采用 P…

【实践】js实现随机不重复抽取数组中元素

经过3个星期的时间终于用做完了学校的练习作品了&#xff0c;但是发现在用jq 做互动虽然很方便但却带来了不少的烦恼 所以在以后的日子里我要好好学 js 了&#xff01; 然后呢在博主之前学java 里面 另我最头痛的就是做产生随机不重复的数据了 今天自己再巩固了一下以前的知识再…

RabbitMQ for windows

一、搭建环境 Rabbit MQ 是建立在强大的Erlang OTP平台上&#xff0c;因此安装RabbitMQ之前要先安装Erlang。 erlang&#xff1a;http://www.erlang.org/download.html rabbitmq&#xff1a;http://www.rabbitmq.com/download.html 我目前使用的&#xff1a;http://pan.baidu.c…

圆环内外圆毛刺(凸起)缺口(凹陷)检测halcon

文章目录处理要求处理方法1方法一思路方法一halcon源码处理效果处理方法2方法二思路方法二halcon源码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 椭圆/圆环&#xff08;产品易变形&#xff0c;为椭圆&#xff09;内外圆…

什么是单播、多播和广播br

什么是单播、多播和广播   “单播”&#xff08;Unicast&#xff09;、“多播”&#xff08;Multicast&#xff09;和“广播”&#xff08;Broadcast&#xff09;这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思&#xff1f;区别何在&#…

【Oracle Database】数据库控制文件管理

移动控制文件 [oraclewallet01 ~]$ sqlplus / as sysdba SQL> set line 200 SQL> col name for a60 SQL> select status,name from v$controlfile;STATUS NAME ------- ------------------------------------------------------------/u01/app/oracle/oradata/wallet…

ADO接口简介

源地址&#xff1a;http://blog.csdn.net/xiaobai1593/article/details/7449151 参考&#xff1a; 1. 百度文库&#xff1a;http://wenku.baidu.com/view/8e2e99ecf8c75fbfc77db230.html 2. CSDN&#xff1a;http://blog.csdn.net/augusdi/article/details/7005597 接口概述&am…

jquery模拟可输入的下拉框

//页面html <div id"select" class"select" ><ul><c:forEach items"${movieCityList}" var"cy" varStatus"st"><li><a href"javascript:void(0)" onclick"selectOption($(this))…

圆环同心度测量halcon

文章目录处理要求处理源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 测量圆环同心度 处理源码 read_image (Image, C:/Users/22967/Desktop/图像Barrel 20201024/201024 手机行业 摄像头检测/Barrel 背光/Pic_2020_…

IP组播与组播协议

IP组播与组播协议 2008-4-27来源:不详 作者:佚名 点击&#xff1a;次在Internet上&#xff0c;多媒体业务诸如&#xff1a;流媒体&#xff0c;视频会议和视频点播等&#xff0c;正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点…

Spring Cloud的应用程序—上下文服务

2019独角兽企业重金招聘Python工程师标准>>> Spring Boot对于如何使用Spring构建应用程序有一个看法&#xff1a;例如它具有常规配置文件的常规位置&#xff0c;以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上&#xff0c;并添加了一些可能系统中所有…

Xtreme8.0 - Kabloom dp

Xtreme8.0 - Kabloom题目连接&#xff1a; https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/kabloom Description The card game Kabloom is played with multiple decks of playing cards. Players are dealt 2 n cards, face up and arranged in two …

视频编码中封装格式RMVB,AVI,264

常规理解 封装格式&#xff08;也叫容器&#xff09;&#xff0c;就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中&#xff0c;也就是说仅仅是一个外壳&#xff0c;或者大家把它当成一个放视频轨和音频轨的文件夹也可以。说得通俗点&#xff0c;视频轨相当…

halcon圆环完整度检测

文章目录处理要求程序源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找好的圆环&#xff0c;检测圆环不良 程序源码 read_image (Image, F:/HALCON/圆环完整性检测/6.bmp) rgb1_to_gray (Image, GrayImage) v…

《SAS编程与数据挖掘商业案例》学习笔记之十五

继续《SAS编程与数据挖掘商业案例》读书笔记&#xff0c;本次重点&#xff1a;输出控制 主要内容包含&#xff1a;log窗体输出控制、output窗体输出控制、ods输出控制 1.log窗体输出控制 将日志输出到外部文件 proc printto log "f:\data_model\book_data\chapt9\newlog.t…

[转载]MATLAB movie 函数动态绘图

原文地址&#xff1a;MATLAB movie 函数动态绘图作者&#xff1a;小霖cheeronMATLAB movie 函数动态绘图 电影动画的好处就是&#xff0c;运行一次可以多次播放&#xff0c;甚至可以直接生成avi文件&#xff0c;直接独立与Matlab环境播放。这是其它三种动画制作方法所不具备的。…

圆环划痕检测halcon

文章目录处理要求处理源码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找圆环缺陷 处理源码 read_image (Image, F:/HALCON/圆环划痕处理/10_33221_ba4582f0e88ec79.bmp) rgb3_to_gray (Image, Image, Image, Image…

多播(组播)原理分析

为什么要使用多播:网 卡从网络上接收到目标物理地址对应的所有bit位都为1的数据报时&#xff0c;会收到这条消息并将其上传给驱动程序&#xff0c;网卡的这种工作模式称为广播模式&#xff0c;网卡的缺省工作模式包含直接模式和广播模式。利用这一特性&#xff0c;UDP&#xff…