hdu 1574 RP问题 01背包的变形
hdu 1574 RP问题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1574
分析:01背包的变形。
RP可能为负,所以这里分两种情况处理一下就好。
初始化要注意。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define inf 0x3f3f3f3f int f[20001],th;
int a,b,c; void dp()
{ f[10000]=0;
if(a>0)
{
for(int i=b+10000;i>=0;i--)
f[i+a]=max(f[i+a],f[i]+c);
}
else if(a<0)
{
for(int i=b+10000;i<20001;i++)
f[i+a]=max(f[i+a],f[i]+c);
}
} int main()
{
int t,maxx;
scanf("%d",&t);
while(t--)
{
maxx=-inf;
memset(f,-inf,sizeof(f));
scanf("%d",&th);
for(int i=1;i<=th;i++)
{
scanf("%d%d%d",&a,&b,&c);
dp();
}
for(int i=0;i<20001;i++)
maxx=max(maxx,f[i]);
printf("%d\n",maxx);
}
return 0;
} //晕死,又因为初始化位置放错了找错误找半天!
疑问:
初学动态规划,一般是求解是从当前状态由前一个状态得来。一开始我就是这样写状态转移方程的。然而这一个题是当前状态求解下一个状态。
所以对于两者之间,有点困惑,大神求教!
hdu 1574 RP问题 01背包的变形的更多相关文章
- UVA 562 Dividing coins --01背包的变形
		
01背包的变形. 先算出硬币面值的总和,然后此题变成求背包容量为V=sum/2时,能装的最多的硬币,然后将剩余的面值和它相减取一个绝对值就是最小的差值. 代码: #include <iostre ...
 - HDU 3033 I love sneakers! 我爱运动鞋 (分组背包+01背包,变形)
		
题意: 有n<=100双鞋子,分别属于一个牌子,共k<=10个牌子.现有m<=10000钱,问每个牌子至少挑1双,能获得的最大价值是多少? 思路: 分组背包的变形,变成了相反的,每组 ...
 - hdu 3466 Proud Merchants     01背包变形
		
Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) ...
 - HDU 3602 2012【01 背包变形】
		
题意: 有 n 个团队和 m 艘船,每艘船的载客量为 k,每个团队的人数为ai+1 ,转载该团队可获利润 bi,要求每个团队的所有人必须在同一艘船上, 且团队优先级高的团队所在船编号不能大于优先级低的 ...
 - HDU 2602 Bone Collector(01背包裸题)
		
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
 - HDU 2546 饭卡(01背包裸题)
		
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
 - HDU 2602 - Bone Collector - [01背包模板题]
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Many years ago , in Teddy’s hometown there was a ...
 - HDU 5234 Happy birthday 01背包
		
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5234 bc:http://bestcoder.hdu.edu.cn/contests/con ...
 - HDU 2546 饭卡(01 背包)
		
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2546 思路:需要首先处理一下的的01背包,当饭卡余额大于等于5时,是什么都能买的,所以题目要饭卡余额最小, ...
 
随机推荐
- 在写移动端时,a标签或者input标签等 在手机上点击背后会有阴影的解决办法
			
a,input{-webkit-tap-highlight-color:rgba(255,0,0,0);} 被背景设置成透明的就行了
 - this指向问题(1)
			
在JS中,this一般有四种绑定的方式,但是在确定到底是哪种绑定之前必须先找到函数的调用位置.接下来先介绍其中的三种: 1.默认绑定 其实所谓的默认绑定就是函数直接调用(前面没有什么东西来点它),在默 ...
 - java基础必备单词讲解 day six
			
development development development development 开发 development developmentenvironment environment en ...
 - iOS新浪微博OAuth2.0认证代码
			
#import "ViewController.h" #import "AFNetworking.h" @interface ViewController () ...
 - JavaScript的执行机制
			
JavaScript是单线程的,任务的执行时自上而下的,这就有了一个问题,当遇到一个比较耗时的任务时,下面的代码就会被阻塞,这就意味着卡死.所以js是有异步的,它的实现主要是通过事件循环(event ...
 - CI的子目录控制器问题
			
不管是根目录还是子目录里面的文件名必须是首字母大写,否则会报404
 - 你们知道SEO每天都在做什么吗?
			
医院也有做SEO的,专门负责医院网站优化工作,那么医院的SEO每天都做什么呢?偶然见到一篇文章,转载来分享给大家.感觉写的很实在. 大凡做seo工作的人都知道seo工作者每天都要做大量的外链,像有些个 ...
 - rsync + git发布项目
			
前言: 更新项目的时候需要将更改的文件一一上传,这样比较麻烦,用版本控制器git +rsync 搭建一个发布服务器,以后发布文件非常方便 首先说下,我这边的更新流程,本地写完之后,git push 到 ...
 - MySQL安装在Linux
			
利用Alt+p工具将下载好的Linux版本的mysql软件加载到根目录. 1. 将下载好的MySQL文件MySQL-5.6.41-1.el6.i686.rpm-bundle.tar放到 根目录下的mk ...
 - http虚拟主机的简单配置训练
			
http的虚拟主机 对于某些web访问站点而言,每天的访问量很少,因此真正的放一台服务器去进行web站点是很 浪费资源的,因此我们选择了虚拟主机 web处理模块的分类(MPM) 1.perfork 一 ...