题目1531:货币面值 - 九度

CSP - J 2020 T4 方格取数 题目链接 一道DP题,标准做法是 O⁡(n2)\operatorname{O}(n^2)O(n2) 的单调队列优化DP,这里讲一个 O⁡(n2log⁡n)\operatorname{O}(n^2 \log n)O(n2logn) 的线段树优化DP做法 仔细观察小熊走路的方式,发现他不能向左走。也就是说,当他到了第 jjj 的时候,就再也不能回到第 1…j−11 \dots j-11…j−1 列去了。所以,我们可以按照列来DP ... 阅读详情
题目描述:
小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。
 
输入:
输入包含多个测试用例,每组测试用例的第一行输入一个整数N(N<=100)表示流通的纸币面额数量,第二行是N个纸币的具体表示面额,取值[1,100]。
 
输出:
对于每组测试用例,输出一个整数,表示已经发行的所有纸币都不能表示的最小面额(已经发行的每个纸币面额最多只能使用一次,但面值可能有重复)。


样例输入:5
1 2 3 9 100
5
1 2 4 9 100
5

1 2 4 7 100

样例输出:

7

8

15

推荐指数:※※

来源:http://ac.jobdu.com/problem.php?pid=1531

直接想到的是背包,从小到大背,找到第一个不能背的。

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
#define  max(a,b) ((a)>(b)?(a):(b))
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF){
		int *money=new int[n+1];
		int i,j,MAXMONEY=0;
		for(i=1;i<=n;i++){
			scanf("%d",&money[i]);
			MAXMONEY+=money[i];
		}
		int *val=new int[MAXMONEY+2];
		memset(val,0,(MAXMONEY+1)*sizeof(int));
		for(i=1;i<=n;i++){
			for(j=MAXMONEY;j>=1;j--){
				if(j>=money[i]){
					val[j]=max(val[j],val[j-money[i]]+money[i]);
				}
			}
		}
		if(n==0){
			printf("1\n");
		}else{
			for(j=1;j<=MAXMONEY+1;j++){
				if(val[j]!=j){//find the first not to fit bag
					printf("%d\n",j);
					break;
				}
			}
		}
	}
	return 0;
}


有人使用了数学排列:money[i]-min>=2的条件判断

#include <iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int compare(const void  *a, const void *b){
	return *((int *)a)-*((int*)b);
}
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF){
		int *money=new int[n+1];
		int i,j,MAXMONEY=0;
		for(i=1;i<=n;i++){
			scanf("%d",&money[i]);
		}
		qsort(money,n+1,sizeof(int),compare);
		int min=0,tmp=0;
		for(i=1;i<=n;i++){
			if(money[i]-min>=2){
				tmp=min+1;
				break;
			}
			min+=money[i];
		}
		if(i>n)
			tmp=min+1;
		printf("%d\n",tmp);
	}
	
}



挖矿模拟器架构解析:道具、昼夜、刷怪的三层耦合设计 游戏中的昼夜系统不仅是时间循环,更是驱动光照、刷怪与道具交互的底层时钟引擎;刷怪逻辑并非随机生成,而是基于环境语义(光照、地形、资源)构建的动态威胁图谱;道具系统则超越UI概念,成为跨模块的状态中枢与协议总线。三者构成‘时间→环境→干预’的嵌套驱动链,支撑起可回溯、可插值、可组合的游戏世界。这种分层耦合架构,广泛适用于生存模拟、RPG及开放世界类项目,尤其在需要多系统协同响应的实时环境模拟中展现出显著技术价值。 阅读详情

相关推荐

几道有关钱币的背包问题分析

找了几道有关钱币问题分析01背包,完全背包,多重背包

笨小猴题解

提供三种写法,按速度从快到慢来展示: #include<iostream> #include<string> using namespace std; string s; char a[10001]; int sum[101]={0}; bool Judge(int x){ if(x==1||x==0)return 0; for(int i=2;i<=x/i;i++){ if(x%i==0)return 0; } return 1; } int main(){ i

m0_45379852的博客 385

三菱FX5U运动控制(步进)

三菱FX5U脉冲定位控制,原点回归,相对定位,绝对定位,运动控制案例。

weixin_55762091的博客 1万+

找钱

找钱 时间限制: 1 Sec 内存限制: 128 MB 题目描述 小 LLL 所在的 LLL 国由于没有普及移动支付,依然在大规模使用纸币。一共有 nnn 种面值的纸币,面值互不相同。一天小 LLL 去商店购买一个价格为 XXX 元的物品,他提前知道了自己手里和店员手里每种面值的纸币的数量,他想知道一共有多少种付钱-找钱的方式。两种付钱-找钱的方式不同,当且仅当存在一种面值,在两种方案中小 LLL 付出的该种面值的纸币数量不同或店员找的该种面值的纸币数量不同。此外,设小 LLL 付出的纸币面值总数为

Amber的博客 435

C# 实现文件和字符串的AES加密解密

C# 实现文件和字符串的AES128加密解密

m0_72044573的博客 5935

用Python+OpenCV给斗地主做个‘外挂’:手把手教你写个桌面记牌器(附源码)

本文详细介绍了如何使用Python和OpenCV开发一个智能斗地主记牌器,包括环境搭建、图像采集与预处理、扑克牌识别技术及PyQt5界面设计。通过实战案例,帮助开发者掌握图像处理与界面开发的结合应用,提升游戏辅助工具的编写能力。

weixin_29079643的博客 546

【luogu3951】【数学】小凯的疑惑

传送门 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。 输入格式 两个正整数aaa和bbb,它们之间用一个空格隔开,表示小凯中金币的面值。 输出格式 一个正整数NNN,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。 输入输出样例 输入 #1 3 7 输出 #1 11

蒟蒻的OI路 327

SQL注入详解

SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。 即:注入产生的原因是后台服务器接收相关参数未经过滤直接带入数据库查询...

渗透之路,攻防之间皆学问 26万+

九度 1531:货币面值(01背包)

题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧   思路 1. 面值最小额度, 枚举的话时间复杂度为 o(n^3). 但思考一下就会发现其实这是背包问题恰好装满的变形题 2. 背包问题恰好装满是在...

weixin_34232617的博客 166

UG二次开发之 三面摆正体代码分析

CIUGUIBlock 是一个从UIBlock 派生的一个类,为什么要从UIBlock 派生出CIUGUIBlock,这是为了兼容低版的UG。如果我们不从的UIBlock 派生控件类对象指针,在UG 8.5以下的版本,会出现编译错误的问题。这是一个简单的入门功能,包括了不少的常用的UF函,下面我们将结合成品代码一起分析一下常用的函数,这对初学者是必要的。根据创建好的UI控件,在 initialize_cb 中创建控件的指针对象。//根据选定的面,指定 X,Y坐标系轴。//根据变换的矩阵,平移实体。

u014657217的博客 351

时间序列—显著相关性和滞后性分析_python

本文讲述了两个时间序列(信号)的相关性分析,可以利用相关性分析进行特征筛选。此外本文还讲了怎么判断时间序列的滞后性的方法。

qq_34229228的博客 2万+

九度OJ—题目1531:货币面值

题目1531:货币面值 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:336 解决:122 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。

小地盘的诺克萨斯 5082

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3107

九度 题目1531 货币面值 (组合数学,母函数应用)

题目1531:货币面值 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:358 解决:133 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问

Hanks软件库 1558

如何在 UniApp 中接入讯飞语音听写功能 文末附vue3+vue2完整代码

在开发过程中,我遇到了讯飞接口返回空数据的问题。通过仔细检查传送的每一帧数据,我发现问题出在第一帧的配置信息以及 Base64 数据的切片。确保每一帧的数据正确且符合接口要求,问题就能够得到解决。希望这个过程能帮助你在项目中顺利对接讯飞语音识别。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 997

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

九度OJ 1531:货币面值

题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。 输入: 输入包含多个测试用例,每组测试用例的第一行输入一个整数N(N 输出: 对于每组测试用例,输出一

598

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

九度OJ 1531 货币面值

题目1531:货币面值 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1011 解决:373 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政

芝兰生于深谷,不以无人而不芳 2065

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

九度1531-货币面值问题

题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。 输入: 输入包含多个测试用例,每组测试用例的第一行输入一个整数N(N 输出: 对于每组测试用例,输出一

b404518626的博客 705

题目1531:货币面值

题目地址:点击打开链接 直接看代码吧,很短 // // 1531.cpp // 九度练习题 // // Created by leizh007 on 15/7/14. // Copyright (c) 2015年 leizh007. All rights reserved. // #include #include using namespace std; const int

460

01背包求解面值组成问题

货币面值 成绩 100 开启时间 2016年05月30日 星期一 06:10 折扣 0.8 折扣时间 2016年05月30日 星期一 06:10 允许迟交 是 关闭时间 2016年05月30日 星期一 06:10 输入文件 Currency.in 输出文件 Currency.out 【题...

allia990718的博客 164

九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划

题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。 输入: 输入包含多个测试用例,每组测试用

liushaobo的专栏 2734

打不开磁盘配额linux,九度OJ 1455 珍惜现在,感恩生活 -- 动态规划(背包问题)...

题目描述:为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?输入:输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100, 1<=m<=100),分别表示经费的金...

weixin_33765959的博客 183

【找零钱问题】

这是一道比较有意思的题,在牛客网网直通BAT算法的题中看到。 这里坐下记录: 题:我们知道人民币有1、2、5、10、20、50、100这几种面值。现在给你n元,让你计算换成用上面这些面额表示且总数不超过100张,共有几种。比如4元,能用4张1元、2张1元和1张2元、2张2元,三种表示方法。   这题是到动态规划的问题。n 找钱的面值只有7种:1,2,5,10,20,50,100;当输入一

lplp90908的博客 1368

题目1549:货币问题

题目描述: 已知有面值为1元,2元,5元,10元,20元,50元,100元的货币若干(可认为无穷多),需支付价格为x的物品,并需要恰好支付,即没有找零产生。 求,至少需要几张货币才能完成支付。 如,若支付价格为12元的物品,最少需要一张10元和一张2元,即两张货币就可完成支付。 输入: 输入包含多组测试数据,每组仅包含一个整数p(1 输出:

多看多听多总结 1634

网易2013笔试题-货币面值

题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在游戏中购买各种装备来提升自己。有一天,他突然很想知道这些纸币的组合不能表示的最小面额是多少,请聪明的你来帮助小虎来解决这个财政问题吧。 输入: 输入包含多个测试用例,每组测试用例的第一行输入一个整数N(N 输出: 对于每组测试用例,输出一

u011846436的专栏 880
上一篇: 题目1532:棋盘寻宝扩展 -九度
下一篇: 题目1521:二叉树的镜像-九度
zoushidexing
博客等级 码龄18年 70粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值