[HDU 1864 最大报销额] 入门DP

保姆级避坑指南:用Docker在Ubuntu 22.04上部署Isaac Sim 5.1.0,搞定宇树G1仿真环境 本文提供了一份详细的保姆级避坑指南,帮助用户在Ubuntu 22.04上通过Docker部署Isaac Sim 5.1.0,并成功搭建宇树G1仿真环境。文章涵盖了环境准备、Docker与NVIDIA容器工具包的配置、Isaac Sim镜像的定制化拉取与配置,以及宇树G1仿真环境的实战调试,旨在帮助开发者高效解决部署过程中的常见问题。 阅读详情

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1864

最大报销额

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 19610    Accepted Submission(s): 5809


Problem Description
现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。
 

Input
测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(<=30)是发票张数。随后是 N 行输入,每行的格式为:
m Type_1:price_1 Type_2:price_2 ... Type_m:price_m
其中正整数 m 是这张发票上所开物品的件数,Type_i 和 price_i 是第 i 项物品的种类和价值。物品种类用一个大写英文字母表示。当N为0时,全部输入结束,相应的结果不要输出。
 

Output
对每个测试用例输出1行,即可以报销的最大数额,精确到小数点后2位。
 

Sample Input
  
200.00 3 2 A:23.50 B:100.00 1 C:650.00 3 A:59.99 A:120.00 X:10.00 1200.00 2 2 B:600.00 A:400.00 1 C:200.50 1200.50 3 2 B:600.00 A:400.00 1 C:200.50 1 A:100.00 100.00 0
 

Sample Output
  
123.50 1000.00 1200.50
 

Source
 

入门的DP题,坑爹的输入要求,题目看仔细就行,基础的01背包。

关于浮点数,因为要求保留小数点2位,所以乘个100就行,到时候转换回来就可以了。


代码。。

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
double q;
int n;
int dp[3000010], v[31];  //因为要乘100,所以是30*1000*100
int main()
{
//	freopen("input.txt", "r", stdin);
	int m;
	double sum;
	while (scanf("%lf%d", &q, &n) != EOF)
	{
		if (!n)
			break;
		int cnt = 0;
		memset(dp, 0, sizeof(dp));
		memset(v, 0, sizeof(v));
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &m);
			sum = 0;
			int a = 0, b = 0, c = 0, flag = 1;
			double val;
			char ch;
			for (int j = 0; j < m; j++)
			{
				scanf("%c%c:%lf", &ch, &ch, &val);
				if (ch == 'A')
					a += (int)(val * 100);
				else if (ch == 'B')
					b += (int)(val * 100);
				else if (ch == 'C')
					c += (int)(val * 100);
				else
					flag = 0;
			}
			if (!flag || a + b + c>100000 || a > 60000 || b > 60000 || c > 60000)
				continue;
			v[cnt++] = a + b + c;
		}
		int tot = (int)(q * 100);
		for (int i = 0; i < cnt; i++)
			for (int j = tot; j >= v[i]; j--)
				dp[j] = max(dp[j], dp[j - v[i]] + v[i]);  //基础01背包的状态转移方程。。
		printf("%.2lf\n", (double)dp[tot] * 0.01);
	}
	return 0;
}


问答式AI vs 智能体(Agent):它们有什么不同? 你肯定用过 ChatGPT 或文心一言——问它一个问题,它给你一个答案。AI Agent(AI智能体)。很多人搞不清楚:它们不都是"AI"吗?有什么区别?这篇文章用一个最简单的类比,彻底讲清楚这两者的本质差异。框架特点适合人群AutoGPT完全自主执行任务,链式思考开发者MetaGPT模拟团队协作,多角色分工开发者LangChain最流行的Agent开发框架开发者Dify可视化无代码搭建Agent非技术用户Coze(扣子)字节跳动出品,国内最易用普通用户WorkBuddy。 阅读详情

相关推荐

深入瑞芯微SDK:手把手解析Uboot、Kernel到Rootfs的镜像生成与烧录

本文深入解析瑞芯微SDK中从Uboot、Kernel到Rootfs的镜像生成与烧录全流程,揭示编译背后的技术细节。通过详细分析SDK架构、镜像生成流水线、分区表定制、Rootfs构建及烧录科学,帮助开发者从会编译进阶到懂原理,掌握系统级开发的关键技术。

weixin_29193359的博客 269

HDU 1864 最大报销额 背包DP

最大报销额 HDU - 1864 有三类可以报销的发票,要求每张发票的总额不超过 100010001000,每张发票上单项物品不得超过 600600600,求在给出的一堆发票中可以报销的最大报销额。 首先判断哪些发票是符合要求的,只处理符合要求的发票。然后令 dp[i]dp[i]dp[i] 表示包含第 iii 张发票能够得到的最大报销额,则对于 0≤j≤i−10\le j\le i-10≤j≤i−...

wineandchord 172

STGCN实战:从零构建PyTorch时空图卷积网络预测城市交通流

本文详细介绍了如何使用PyTorch从零构建时空图卷积网络(STGCN)进行城市交通流预测。通过将交通网络建模为图结构,并融合时间卷积与空间图卷积,STGCN能有效捕捉交通流的时空依赖性。文章提供了从数据预处理、核心模块(TimeBlock与STGCNBlock)搭建、模型训练到实战技巧的完整指南,帮助开发者快速掌握这一前沿的交通速度预测技术。

wasm7browser的博客 247

最大报销额 HDU - 1864(DP+01背包)

最大报销额 HDU - 1864 点击跳转↑ 题设:多组输入,每组输入一对Q和N,分别代表当前的公费,和需要报销的账单总数。接下来N行,每行开始一个m,接下来是m项物品的名称和价格。求:在所有符合报销规则的账单中,任意组合,让总报销额不超过公费且最大。 思路:简单的背包,但是有坑,首先需要读懂题意,账单的报销规则为: 1-允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类) ==>单张账单中,只能出现“A”,“B”,“C”三种类型的物品 2-每张发票的总额不得超过1000元 ==>

自伤无色的博客 544

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

Zynq-PS-SDK(12) 之 VDMA+VTC+AXI4S-VideoOut 视频通路硬件搭建

前面分别叙述了《Zynq-PS-SDK(9) 之 VDMA》、《Zynq-PS-SDK(10) 之 VTC》以及《Zynq-PS-SDK(11) 之 AXI4-Stream To Video Out》;搭建一个简单的视频通路(Framebuffer -> HDMI)就要用到这些个模块,总体的设计框图如下所示: 视频数据的 Framebuffer 在 DDR 中,通过 Processing System 写入进去; 数据通过高带宽的 AXI4 接口(这里用到了 HP AXI,即 64bits 带

StephenZhou 5589

hdU 1864 最大报销额

最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11181    Accepted Submission(s): 3067 Problem Description 现有一笔经费可以报销一定额度的发票。允

dongdongzhang_的专栏 551

基于多智能体的自动化公司调研系统

在当今竞争激烈的商业世界中,了解公司的详细信息对于投资者、合作伙伴和研究机构等具有重要意义。传统的公司调研方式往往需要耗费大量的人力、物力和时间,且容易出现信息不全面、不准确等问题。基于多智能体的自动化公司调研系统的目的是利用多智能体技术,实现公司调研的自动化和智能化,提高调研的效率和准确性。本系统的范围涵盖了公司基本信息收集、市场竞争力分析、财务状况评估等多个方面。本文将按照以下结构进行组织:首先介绍系统的核心概念和相关联系,包括多智能体系统的原理和架构;

架构师的AI之路,分享AI应用开发架构的学习与实践。 964

HDU1864 最大报销额【0-1背包】

最大报销额 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 37898 Accepted Submission(s): 11690 Problem Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超

海岛Blog 738

基于深度学习的工业零件缺陷检测系统

工业零件缺陷检测系统摘要 本文介绍了一个基于深度学习的工业零件缺陷检测系统解决方案。该系统采用Faster R-CNN目标检测算法,结合PyTorch框架和OpenCV图像处理库,实现了对工业零件表面缺陷(如裂纹、划痕、凹坑等)的自动检测与定位。系统包含完整的开发流程:从数据采集与标注、数据增强预处理、模型构建与训练,到最终的评估与部署。相比传统机器视觉方法,该深度学习方案具有更强的特征表示能力和环境适应性,能够有效提升工业质检的准确率和效率。文章详细阐述了系统架构设计、实现细节和优化策略,并提供了完整的代

huanghm88的专栏 286

OTA 升级失败/回滚策略设计:打造安全可靠的双分区/断点续传/签名校验方案

双分区机制(A/B Partitioning)是OTA升级的“保险箱”。简单来说,设备存储分为两个分区:A分区(当前运行)和B分区(备用)。升级时,新固件写入B分区,A分区保持不变。如果升级成功,系统切换到B分区运行;如果失败,设备直接回滚到A分区,完全不受影响。这就像玩游戏存档:你打Boss前存了个档,万一挂了还能读档重来。双分区就是设备的“读档”机制,避免了变砖的尴尬。以Android设备为例,Google从Android 7.0开始强制引入A/B分区机制(Seamless Updates)。

大模型大数据攻城狮的专栏 1235

HDU 1864 最大报销额 01背包

HDU 1864 最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17530    Accepted Submission(s): 5141 Problem Description 现有一笔经费可以报销

TaoSama's Microcosm 462

【突变检验合集】含Pettitt突变检验等

突变检验方法合集

WW、forever的博客 3534

HDU - 1864—最大报销额——算法笔记

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 Problem Description: 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最...

学而不思则忘 905

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[HDU]1864最大报销额[dp][贪心?怎么可能!]

题目链接:[HDU]1864最大报销额[dp]or[贪心] 题意分析:题意就不再分析了。需要注意的事,题目中有一句『单项物品的价值不得超过600元』等价于『单类物品总价值不超过600元』。刚开始还以为是单个物品Orz。 解题思路:这次最大报销额是一个浮点数,单纯的整数背包就不起作用了。可以考虑使用乘100后变为整数的方法,进行01背包求解。 (网上流传的两种方法:一种DP:转移方

闲停 646

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU 1864 最大报销额

传送门 01背包,有一点变形。 给一些发票(物品),每张发票都有一个报销额(价值),每张发票还有一个判断合不合法的过程(这题很坑,话都说不明白。它要求的是每张发票上的A,B,C每类都不大于600.0,而不是每一项),每张发票要么全报要么全不报。问你在总报销额不大于Q的情况下最大的总报销额是多少。 刚一看会发现一个问题,它没有一个显式的背包容量的概念。(当然,这道题可以把价值和重量当成一个东西,有人...

Crossing over 281

hdu1864 最大报销额 01背包

最大报销额Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 29672    Accepted Submission(s): 9092Problem Description现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类...

popcjz的博客 1321

ACM-DP之最大报销额——HDU1864

最大报销额 Problem Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。   Input 测试输入包含若干测试用例。每个测试用例的第1行

继续激情,继续奋斗。 2001

HDU1864:最大报销额

经典01背包例题

innounce的博客 390

【DP(背包)】 hdu1864 最大报销额

最大报销额 http://acm.hdu.edu.cn/showproblem.php?pid=1864 Problem Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报

Ted's 游乐园 928

HDU 1864最大报销额——01背包

最大报销额 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 33746 Accepted Submission(s): 10395 Problem Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买...

小橘子的AC之旅 698

hdu1864最大报销额

Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input 测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,...

陈常杰的博客 429

hdu1864 最大报销额

最大报销额 Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14832Accepted Submission(s): 4...

chongkuachan8070的博客 177

最大报销额 HDU - 1864(基础dp)

题目链接 题意:给出发票,要求报销的发票种类仅限于’A’,’ B’,'C’三种,且每张发票总额不得超过1000元,每张发票的单项物品价格不得超过600元。按以上要求找到最大的报销费。 思路: 1.给的数据价格是小数类型的,为了方便,可以先把小数类型的都乘100变成整数; 2.每一张发票的总额算出来并且判断总额是否小于等于100000,单项物品价格是否小于等于60000,满足就把结果存放在mo[i...

weixin_44877865的博客 212

hdu 1864 最大报销额 01背包变形

Problem Description 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input 测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(<=30)是发票张数。随后是 N 行输入,每行的格式为: m Type_1:price

Lionel 1043

HDU1864-最大报销额

现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 Input 测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(<=30)是发...

weixin_43357583的博客 379

hdu 1864 01背包 最大报销额

http://acm.hdu.edu.cn/showproblem.php?pid=1864 New~ 欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院关于2015年杭电ACM暑期集训队的选拔 最大报销额 Time Limit: 1000/1000 MS (Java/Others)...

181
上一篇: [HDU 2955 Robberies] 入门DP
下一篇: [HDU 1231 最大连续子序列]
chenningGo
博客等级 码龄11年 1粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值