Hdu3466 Proud Merchants

hdu3466 Proud Merchants 需要排序的01背包 Proud Merchants Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 5847Accepted Submission(s): 2453 Problem Description Recently, 阅读详情
Problem Description

Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this country are still very proud even if their nation hasn’t been so wealthy any more.
The merchants were the most typical, each of them only sold exactly one item, the price was Pi, but they would refuse to make a trade with you if your money were less than Qi, and iSea evaluated every item a value Vi.

If he had M units of money, what’s the maximum value iSea could get?

Input

There are several test cases in the input.

Each test case begin with two integers N, M (1 ≤ N ≤ 500, 1 ≤ M ≤ 5000), indicating the items’ number and the initial money.
Then N lines follow, each line contains three numbers Pi, Qi and Vi (1 ≤ Pi ≤ Qi ≤ 100, 1 ≤ Vi ≤ 1000), their meaning is in the description.

The input terminates by end of file marker.

Output

For each test case, output one integer, indicating maximum value iSea could get.

Sample Input

2 10
10 15 10
5 10 5
3 10
5 10 5
3 5 6
2 7 3

Sample Output

5

11


题意是: 给你钱m,买东西,共有 n 件物品,
每件物品有  价格P、价值V和特别属性Q, 
Q指你如果想买这件物品 你的手中至少有这钱Q 。 
问给你钱M ,列出N件物品,最多能获得多少价值的东西。
这个Q使得题目与普通的01背包有了区别。
于是,对任意两个物品i,j,我们可以算出两种顺序所需要的最少金额,
若i->j,则至少需要Pi+Qj  ; 若是j->i则至少需要Pj+Qi。
如果已知结果是i->j较优的话,则有Pi+Qj<Pj+Qi,即Qi-Pi>Qj-Pj。
所以若对之前的物品先按照Q-P由大到小排好序后,再进行01背包即可。


#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#define LL long long
using namespace std;
int dp[5005];
struct node{
    int p,q,v;
}s[505];
bool cmp(node a,node b)
{
    return (a.q-a.p)<(b.q-b.p);
}
int main()
{
    int n,m,i,j;
    while(~scanf("%d%d",&n,&m)){
        memset(dp,0,sizeof(dp));
        for(i=0;i<n;i++){
            scanf("%d%d%d",&s[i].p,&s[i].q,&s[i].v);
        }
        sort(s,s+n,cmp);
        for(i=0;i<n;i++){
            for(j=m;j>=s[i].q;j--){
                dp[j]=max(dp[j],dp[j-s[i].p]+s[i].v);
            }
        }
        printf("%d\n",dp[m]);
    }
    return 0;
}



基于Simulink的异步电机参数在线辨识与自适应控制仿真 本文基于Simulink平台,详细介绍了异步电机参数在线辨识与自适应控制系统的仿真实现。针对异步电机运行中参数时变问题,采用模型参考自适应系统(MRAS)实时辨识转子电阻和互感,并结合自适应PI控制策略动态调整控制器参数。通过搭建完整的矢量控制(FOC)仿真模型,验证了系统在稳态辨识、参数摄动和动态响应等工况下的性能:参数辨识误差<1.2%,转速跟踪误差<20rpm,动态响应时间<10ms。文章还提供了详细的Simulink建模步骤、核心代码实现及性能分析,为高级电机控制系统的设计与优化提 阅读详情

相关推荐

HTML5期末大作业:关于家乡介绍的HTML网页设计——郑州美景HTML+CSS(5页) 学生DW家乡介绍网页设计作业成品 web课程设计网页规划与设计

HTML5期末大作业:我的家乡——郑州美景HTML+CSS(5页) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求, 喜

qq_365392777 1万+

hdu3466 Proud Merchants

hdu3466 Proud Merchants

李典金 358

ZYNQ 系统的IEEE1588 实现方法

zynq IEEE588/PTP 实现方案(讨论稿)

姚家湾博客 1万+

HDU 3466 Proud Merchants

Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this country are still very proud even if their nation hasn’t been so wealthy any more. The merchants

tanjunming2020的博客 875

PPT太丑?用InDesign制作电影级的交互式在线演示文档

本文旨在解决传统演示软件(如PowerPoint、Keynote)在制作商业提案、设计报告时,普遍存在的模板化严重、视觉表现力不足、动态效果廉价的核心痛点。我们将介绍一套常被设计师们“误解”或“忽略”的“降维打击”工作流,核心是利用印刷排版软件 Adobe InDesign 强大的版式控制、动画与交互功能,来创建电影级的动态演示文稿,并通过其 在线发布 (Publish Online) 功能,一键生成可在任何浏览器中流畅访问的网页版交互式文档,从而极大地提升提案的专业度与视觉冲击力。

Kingsdesigner的博客 1281

opencv图像去畸变

opencv图像去畸变

智能机器人产学研基地 4872

(01背包变形)HDU3466Proud Merchants

HDU3466Proud Merchants 代码: #include<bits/stdc++.h> const int N=1e6+10; const int mod=1e7+9; const int maxn=0x3f3f3f3f; const int minn=0xc0c0c0c0; const int inf=99999999; using namespace std; str...

Z7784562的博客 232

STM32H743必要外围电路分析

写在前面:这篇博客是我第一次绘制STM32最小系统板的过程记录。 2020-1-11 BOOT STM32采用ARM内核,和ARM处理器一样,都有专门的boot脚决定单片机从何处启动。 在官方数据手册的第105页,我们可以看到 系统复位后,在SYSTICK的第四个上升沿锁存BOOT引脚的值,复位后,BOOT引脚可以由用户自由配置而不会影响系统正常运行。 BOOT引脚决定了自举存储器地址,当BO...

Cui_Hongwei的博客 1万+

HDU 3466 Proud Merchants 带有限制的01背包问题

HDU 3466 Proud Merchants 带有限制的01背包问题 题意 最近,伊萨去了一个古老的国家。在这么长的时间里,它是世界上最富有、最强大的王国。因此,即使他们的国家不再那么富有,这个国家的人民仍然非常自豪。 商人是最典型的,他们每一个只卖了一个项目,价格是PI,但他们拒绝与你交易如果你的钱低于QI,ISEA评估每一个项目的价值VI。 如果他有M单位的钱,伊萨能得到的最大价...

weixin_30715523的博客 259

【TCAD】Sentaurus 中的“陷阱trap”仿真设置

允许使用有限的数据集名称 SFactor 规范,例如 DeepLevels , xMoleFraction , 和 yMoleFraction (从兴奋剂档案中读取) eTrappedCharge 和 hTrappedCharge (从指定的文件中读取 DevFields 在 File 部分)或 PMI 用户字段 PMIUserField0...10 (从指定的文件中读取 PMIUserFields 在 File 部分)。给定的陷阱截面 eNeutral 陷阱是多种多样的 Xsec 项目参数。

荷塘阅色 1308

深度强化学习调参技巧:以DQN、DDPG、TD3、PPO、SAC等算法为例

深度强化学习调参技巧:以D3QN、DDPG、TD3、PPO、SAC算法为例

丨汀、的博客 3444

HDU 3466 Proud Merchants(01背包/按limit-price从小到大排序)

题目链接: HDU 3466 Proud Merchants 题意: 有nn个商品和预算mm元。每个商品有个价格priceprice,购买限制limitlimit和价值valval,必须在手中剩余的金额大于limitlimit时才能购买这件商品.(limit>price)(limit>price)问在预算条件下最多能购买的商品价值是多少? 分析: 典型的01背包。一开始是按照limitli

ramay7 642

实战篇(七):使用Processing和PixelFlow库创建交互式流体太极动画

类:用于配置流体运动的参数,比如圆的位置、半径、运动的角度和速度以及颜色等。类:实现了接口,用于更新流体物理仿真的状态,同时整合声音输入作为流体动态变化的一部分。my_update方法:是流体物理仿真更新的核心,它计算流体粒子的速度和位置,并且将这些数据传递给流体库来模拟流动。现在,让我们进一步分析并解释每个部分的作用以及如何操作。float x;// 圆心位置xfloat y;// 圆心位置y// 半径// 是否是顺时针// 圆周运动,弧上的点位置,以及上一帧的点位置// 角度。

帅小柏的博客 1635

HDU 3466 Proud Merchants(DP:01背包+贪心)

HDU 3466 Proud Merchants(DP:01背包+贪心) 题意:同样有nKind个物品,每个物品有一个weighe[i]和value[i],但是如果你当前余额 分析:首先对于任意两个物品i和j,如果我们只选他们中的一个或全不选,我们所需要的初始金钱是相同的.现在如果我们对于它们两个都选,初始金钱就跟选择的顺序有关了.比如: 3 5 6 5 10 5 两个物品,如果先1后2

code 1024

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDU3466 Proud Merchants 01背包

Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 8958 Accepted Submission(s): 3766 Problem Description Recently, iSea went t...

DouglasConnor的博客 400

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

hdu 3466 Proud Merchants(背包问题)

//hdu 3466 Proud Merchants(背包问题) #include #include #include #include using namespace std; const int M=5010; const int Inf=999999999; int dp[2][M]; int n,m; struct node { int pi,qi,vi; }MM[600]; bo

u014068781的专栏 437

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hdu 3466 Proud Merchants

hdu 3466      最近,iSea想去一个古老的国家。很长一段时间,它都是世界上最富有强大的国家。因此,这个国家里的人一直非常骄傲,即使他们的国家不再那么富有。     商人最典型,他们每个人只卖一种物品,价格是Pi,但是如果你的钱少于Qi,他们不会卖给你东西,并且iSea对每件物品都有一个估价Vi。     如果他有M单位的钱,那么他能得到的最大价值是多少? 按照q-p排序,

yan_____的专栏 1005

HDU3466——Proud Merchants

这是01背包问题(我觉得题目挺好的),但是问题在于在动态规划前一定要先排序,排序规则是按照q-p由小到大的顺序排列,至于为什么这样排列,有几个博主写了: HDU 3466 Proud Merchants DP 分享排序方式的证明 HDU3466(背包先后顺序) 先上代码: struct Ce { int p,q,v; }ce[555]; int cmp(Ce

emmaczw的博客 552

hdu3466-Proud Merchants

Proud Merchants 按照q-p从小到大排序,然后01背包。 至于按照q-p从小到大排序比较难想到。q-p其实就是不更新的范围,不更新的范围从小到大递增时就不会影响后面的DP了。 // File Name: hdu3466.cpp // Author: rudolf // Created Time: 2013年04月21日 星期日 21时17分35秒 #include

bo-jwolf的专栏 1103

HDU3466 Proud Merchants

01背包变种

innounce的博客 534

hdu3466 Proud Merchants

大致题意:有n组数,每组数有三个数,pi,买这种物品你有的钱必须大于qi,你所能获得的价值vi。如果你想要买这种物品你所拥有的钱必须大于qi。 问你能用你所有的钱最多能获得多大价值。 解题思路:以第二组数据为例:A:5 10 5  B:3  5   6如果先买A的再买B的话需要花10块钱,但是先买B再买A的话需要13块钱。也就是花不同的钱却获得了相同的价值。所以这里排序就比较关键了!怎

W_904038290的博客 352

HDU - 3466 Proud Merchants

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3466 题目大意: 思路: 其实,就是让C商品的q不等于p,其他都相同,这时,你就会发现如果要买C商品的话,肯定得先买C商品,因为买C商品的代价最大。所以,我们可以按照qi-pi的顺序来确定大顺序。这里我们还可以用更严谨的方式来证明一下,比如A:p1 q1, B:p2 q2,然后,假设单独买A或者B的话...

QotaZ的博客 191
上一篇: Hdu1069 Monkey and Banana
下一篇: LightOJ1236 Pairs Forming LCM 素数筛法+分解质因数
Megumin
博客等级 码龄10年 3粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值