题目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

SpringBoot实现电子发票生成

电子发票是近年来比较流行的一种票据形式,它取代了以往传统的纸质发票,具有减少纸张浪费、方便有效查验等优点。本文将介绍如何使用Spring Boot和Vue.js构建一个仿真电子发票生成应用程序,借助微信二维码扫描功能和第三方库,实现用户扫描二维码获取发票信息并填写相关开票信息,最后生成电子发票。在本文中,我们介绍了如何使用Spring Boot和Vue.js构建一个仿真电子发票生成应用程序,借助微信二维码扫描功能和第三方库,实现用户扫描二维码获取发票信息并填写相关开票信息,最后生成电子发票。

不愧是暮言的博客 6093

找钱

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

Amber的博客 435

【UE4】Hierarchical Instanced Static Mesh——一种速度优于Spawn的实例化物体组件

最近需要在场景中实例出很多个相同的模型,位置也很有规律,并且要对它的位置信息进行更新。 但是一个个拖进去实在太麻烦,就发现了Spawn Actor这个蓝图方法,可以实例一个蓝图类在场景中。 但是由于数量较大,实例化的速度太慢,这时发现了一个神奇的组件——Hierarchical Instanced Static Mesh。 新建一个蓝图类,添加该组件,在细节里添加你要实例化的模型对象。 ...

ColorGalaxy 1万+

FreeRtos——10、全局看门狗设计

RTOS 里的看门狗不只是为了证明 CPU 还在动,而是为了证明每个业务逻辑都在按预期的节奏“呼吸”。

qq_40170041的博客 901

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

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

蒟蒻的OI路 327

博途的HMI(触摸屏)的应用

触摸屏(HMI):用于控制PLC,可认为是小型上位机(用于控制PLC的都可认为是上位机)上位机(PC Station):将触摸屏升级为电脑----工控机(工业控制的机器)用博途编写西门子的触摸屏和上位机。

王阿妹小天才的博客 2676

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

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

weixin_34232617的博客 166

YOLO11改进|注意力机制篇|引入ELA注意力机制

YOLO11添加ELA注意力机制

A1983Z的博客 3647

【20260309】【亲测可用】【异常】Get https://registry-1.docker.io/v2/: net/http: request canceled

【异常】Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection。

奶爸的编程之路,也就一周冷个三天 2万+

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

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

小地盘的诺克萨斯 5082

《Python全栈系列教程》专栏介绍及文章汇总

《Python全栈系列教程》专栏介绍及文章汇总

孤寒者的博客 71万+

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

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

Hanks软件库 1558

杰理AC696N使用ADC检测电位器调音量教程

本教程详细介绍了在杰理AC696N芯片上使用ADC功能检测电位器电压值的方法。主要内容包括:硬件连接方式(电位器VCC/OUT/GND分别接3.3V、PA3引脚和地线),10位ADC配置(0-1023对应0-3.3V),以及核心代码实现。关键步骤涉及ADC采样通道初始化、GPIO引脚配置(关闭数字输入和上下拉电阻),以及通过定时器实现50Hz采样频率。教程还详解了ADC值到系统音量的线性映射算法,并提供了完整的代码示例和调试方法,帮助开发者实现电位器实时控制音量的功能。

qq_42014563的博客 1245

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

九度OJ 1531:货币面值

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

598

WINCC7.3破解文件

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

九度OJ 1531 货币面值

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

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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

九度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、付费专栏及课程。

余额充值