hdu 1574 RP问题 DP

12 篇文章 0 订阅

 

问题描述:有N件连续的事件,有些事件是RP值增加a,获益值减少c。有些则相反。每件事件还有一个RP门槛bRP值增加的事件RP>=RP门槛,RP值减少的事件则得RP<=RP门槛。满足上述条件不一定就会发生。其中N<= 1000 ,a<=10,b<=10000,c<=10000;求这些事件的最大获益值, 事件发生的顺序按照输入先后顺序先后发生,也就是说不可能先发生第i行的事件,然后再发生i j行的事件。开始RP和获益值都为0

 

算法:是DP题。一件事件发生与否只和当前RP有关,所以想到存储到达某个事件是各个RP的最大获益。不能开二维的数组(数据太大),只能开一个dp[20001];dp[j]表示RPj - 10000;  另外还要一个标记数组,标记是否可以出现这个RP值;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值