3维动态规划 hdu 4501 小明系列故事——买年货

三维动态规划 To The Max Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8503    Accepted Submission(s): 4127 Problem Description Given a two-dimensional array 阅读详情

 

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=4501

 

题目大意:

一共有n件商品,每件商品有一个购买价钱,购买积分,得分价值。

现有k件物品的选购机会,有v1元钱,v2积分,问能获得的最大得分价值是多少。

 

解题思路:

dp[i][j][k]表示有i元钱,j积分和k个免费商品的机会,能获得的最大的得分价值。

对每件商品一共有四种选择,1、用钱买 2、用积分换 3、用一个免费商品的名额 4、什么都不用

 

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<queue>
#define eps 1e-6
#define INF (1<<20)
#define PI acos(-1.0)
using namespace std;

int dp[110][110][10];  //dp[i][j][k]表示有i人民币,j积分,k次免费的机会能够获得的最大价值

struct Thing
{
    int a,b,val;
}thing[110];



int main()
{
    int n,v1,v2,k;

    while(scanf("%d%d%d%d",&n,&v1,&v2,&k)!=EOF)
    {
        int sum=0;
        for(int i=1;i<=n;i++)
        {
            scanf("%d%d%d",&thing[i].a,&thing[i].b,&thing[i].val);
            sum+=thing[i].val;
        }

        memset(dp,0,sizeof(dp));
        for(int i=1;i<=n;i++)
            for(int q=k;q>=0;q--)
            for(int j=v1;j>=0;j--)
                for(int p=v2;p>=0;p--)
                    {
                        if(j>=thing[i].a&&p>=thing[i].b) //如果能够用积分或钱
                        {
                            dp[j][p][q]=max(max(dp[j-thing[i].a][p][q]+thing[i].val,dp[j][p-thing[i].b][q]+thing[i].val),dp[j][p][q]);
                            if(q>=1)  //如果能用免费的名额
                                dp[j][p][q]=max(dp[j][p][q],dp[j][p][q-1]+thing[i].val);
                        }
                        else if(j<thing[i].a&&p<thing[i].b) //如果钱和积分都不能用
                        {
                            if(q>=1)
                                dp[j][p][q]=max(dp[j][p][q],dp[j][p][q-1]+thing[i].val);
                        }
                        else if(j<thing[i].a) //只能用积分
                        {
                            dp[j][p][q]=max(dp[j][p-thing[i].b][q]+thing[i].val,dp[j][p][q]);
                            if(q>=1)
                                dp[j][p][q]=max(dp[j][p][q],dp[j][p][q-1]+thing[i].val);
                        }
                        else   //只能用钱
                        {
                            dp[j][p][q]=max(dp[j-thing[i].a][p][q]+thing[i].val,dp[j][p][q]);
                            if(q>=1)
                                dp[j][p][q]=max(dp[j][p][q],dp[j][p][q-1]+thing[i].val);
                        }

                    }
            printf("%d\n",dp[v1][v2][k]);


    }

    return 0;
}


 

 

IDEA集成selenium自动化测试(Java+Selenuim+testNG+Maven) 文章目录写在前面01 | 新建Maven项目02 | idea集成Selenium03 | 写在前面 因为软件测试的需求和博主比较经常使用Java,于是,想在Idea中集成selenuim,用Java编写测试代码,因此有了这篇文章来记录一下过程。 资源指路: java使用selenium实现模拟浏览器操作API大全 模拟登录 TestNG入门教程 感谢上面博客的大佬。 01 | 新建Maven项目 不使用骨架创建,直接点击左侧Maven,然后一路next即可。 02 | idea集成Sele 阅读详情

相关推荐

极空间NAS小白也能搞定的Gitea部署:Docker+MySQL避坑全记录

本文为极空间NAS用户提供了一份详尽的Gitea私有代码仓库部署指南。针对极空间ARM架构和图形化Docker管理的特殊性,文章重点讲解了如何通过Docker和MySQL容器进行部署,并提供了三种获取兼容镜像的实战策略,特别是利用第三方镜像站转录的方法,帮助小白用户成功搭建并初始化Gitea服务,实现私有Git托管。

weixin_28318011的博客 368

三维动态规划

【代码】三维动态规划。

m0_58257626的博客 254

Unity类银河战士恶魔城学习总结(P103之前 Enemy相关 , 骷髅战士,状态机,敌人状态,)

udemy的Alex银河战士恶魔城,记录我自己的学习,代码会逐渐每一p更新,仅供参考学习。

suzh1qian的博客 1633

19.三维动态规划

三维动态规划例题,大部分都可以改写dp,但是比较浪费时间

qq_63523553的博客 833

SVG文件上传漏洞实战:从XSS攻击到防御策略

本文深入剖析了SVG文件上传漏洞的成因与危害,揭示了攻击者如何利用SVG的XML本质构造恶意文件,绕过常规检查实现存储型XSS攻击。文章通过实战复现演示了完整的攻击链,并提供了从严格内容检查、安全解析过滤到设置CSP策略等多层次的纵深防御方案,帮助开发者从根本上加固文件上传功能。

weixin_29230805的博客 395

自抗扰(ADRC)控制原理及控制器设计

自抗扰控制原理以及控制器设计

weixin_43487974的博客 3万+

多维动态规划

ACM题集:https://blog.youkuaiyun.com/weixin_39778570/article/details/83187443 动态规划:https://blog.youkuaiyun.com/weixin_39778570/article/details/87014343 P1508 Likecloud-吃、吃、吃 给定一个二维表,从最下一行中间遍历到最顶行,输出途径的格子和的最大值 ------...

越看越喜欢啊 2200

FPGA+CMV4000实战:从零搭建20fps成像系统的5个关键步骤(附避坑指南)

本文详细介绍了如何从零搭建基于FPGA和CMV4000传感器的20fps成像系统,涵盖硬件选型、SPI通信优化、LVDS数据采集、DDR2内存管理及系统集成等5个关键步骤。特别针对CMV4000传感器的SPI配置和高速数据处理的常见问题提供实用解决方案,帮助开发者避免常见陷阱,提升成像系统性能。

weixin_42628688的博客 428

多维动态规划 (共六题)

P1508 Likecloud-吃、吃、吃URL: https://www.luogu.org/problem/show?pid=1508#sub 题目背景问世间,青春期为何物?答曰:“甲亢,甲亢,再甲亢;挨饿,挨饿,再挨饿!”题目描述正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中。某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个n*m(n and m<=20

chutzpah 2154

uniapp(vue3)- 详解安装/使用pinia报错reportJSException >>>> exception function:createInstanceContext, excepti

uniapp vue3 pinia报错reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack -> at useStore,H5网页,微信小程序,安卓App,苹果App,nvue,uniapp安装使用pinia出现报错at useStore,uniapp+vue3+ts 使用pinia报

🏆 前端领域优质创作者 4048

YOLO26涨点改进 | Conv篇/小目标改进 | AAAI 2025 FBRT-YOLO 两个轻量级FCM和MKP模块, 助力无人机航拍任务VisDrone、UAVDT和AI-TOD高效涨点

本文提出FBRT-YOLO26模型,通过引入两个轻量级模块FCM和MKP优化航拍图像检测性能。FCM模块通过特征互补映射解决小目标信息丢失问题,MKP模块利用多尺度卷积核增强目标感知能力。在VisDrone等数据集上的实验表明,该方法在精度和速度上均优于现有实时检测器。文章详细介绍了模块结构、核心代码实现及YAML配置文件修改方法,为航拍图像中的小目标检测提供了高效解决方案。该模型实现了检测精度与效率的良好平衡,具有实际应用价值。

Ai缝合怪、助力小伙伴高效发论文 369

hdu 4501 小明系列故事——买年货

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 1309    Accepted Submission(s): 564 Problem Description   春节将至,小明要去超市购置

WEYuLi的专栏 1081

2026年佰维存储数字IC笔试试卷带答案

建立时间是有效时钟沿到来前,输入数据必须稳定保持的最短时间。保持时间是有效时钟沿到来后,输入数据必须继续稳定保持的最短时间。

Open 103

hdu 4501 小明系列故事——买年货(多维背包)

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 831    Accepted Submission(s): 335 Problem Description   春节将至,小明要去超市购置年货,

nealgavin的专栏 1742

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

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

HDU 小明系列故事——买年货

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4501 Problem Description   春节将至,小明要去超市购置年货,于是小明去了自己经常去的都尚超市。   刚到超市,小明就发现超市门口聚集一堆人。用白云女士的话说就是:“那家伙,那场面,真是人山人海,锣鼓喧天,鞭炮齐呤,红旗招展。那可真是相当的壮观啊!”。好奇的小明走过去,奋

llbcys 1074

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

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

小明系列故事――买年货

F - 小明系列故事――买年货 Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4501 Description   春节将至,小明要去超市购置年货,于是小明去了自己经常去的都尚超市。    刚到超市,

梧桐下的四叶草 772

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

HDU 4501 小明系列故事——买年货 (多维背包)

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1479Accepted Submission(s): 636 Problem Description   春节将至,小明要去超市购置年货,于是...

anvt77205的博客 157

hdu 4501 小明系列故事——买年货(三维背包)

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 3175    Accepted Submission(s): 1451 Problem Description   春节将至,小明要去超市购

TUT我好菜啊 575

HDU 4501 小明系列故事——买年货(二维背包变形)

Problem Description   春节将至,小明要去超市购置年货,于是小明去了自己经常去的都尚超市。    刚到超市,小明就发现超市门口聚集一堆人。用白云女士的话说就是:“那家伙,那场面,真是人山人海,锣鼓喧天,鞭炮齐呤,红旗招展。那可真是相当的壮观啊!”。好奇的小明走过去,奋力挤过人群,发现超市门口贴了一张通知,内容如下:        值此新春佳节来临之际,为了回馈广大顾客的

贾作真时真亦贾的博客 407

HDU 4501 小明系列故事——买年货

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 1039    Accepted Submission(s): 427 Problem Description   春节将至,小明要去超市购置年货,于

hqu_fritz的专栏 2321

HDU4501-小明系列故事——买年货

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2221    Accepted Submission(s): 995 Problem Description   春节将至,小明要去超市购置年货,于

程序猿之洞 1560

HDU 4501 小明系列故事——买年货(三维背包)

可以看成是3维背包问题,开的是四维数组,这个地方最好是用四维数组,因为有花费为0但是却又价值(估计现实是不会有的)的物品。 f[i][j][k][t] 是 在前 i 件物品中,最多花费 金钱 j,积分 k,消费券 k 的时候最大能够 获得的价值 #include #include #include using namespace std; #define CLR(arr,val) m

星空下的密码 1390

hdu 4501 小明系列故事——买年货(四维背包问题)

题目链接http://acm.h#include #include #define max(a,b) a>b?a:b int dp[101][101][101][6]; int main() { int n,v1,v2,k,i,j,l,p,a,b,c,m1,m2,m3; while(scanf("%d %d %d %d",&n,&v1,&v2,&k)!=EOF) {

u010456428的专栏 764

HDU4501:小明系列故事——买年货(三重背包)

Problem Description   春节将至,小明要去超市购置年货,于是小明去了自己经常去的都尚超市。   刚到超市,小明就发现超市门口聚集一堆人。用白云女士的话说就是:“那家伙,那场面,真是人山人海,锣鼓喧天,鞭炮齐呤,红旗招展。那可真是相当的壮观啊!”。好奇的小明走过去,奋力挤过人群,发现超市门口贴了一张通知,内容如下:      值此新春佳节来临之际,为了回馈广大顾客的支持和

ACM!荣耀之路! 2751

HDU 4501-小明系列故事——买年货

小明系列故事——买年货 Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 3493    Accepted Submission(s): 1641 题目链接:点击打开链接 Problem Descriptio

别止的博客 349
上一篇: Codeforces Round #173 (Div. 2) <全>
下一篇: hdu 1394 Minimum Inversion Number(线段树 单点更新)
Accagain
博客等级 码龄14年 376粉丝 316原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值