HDU3236 Gift Hunting
/*
HDU3236 Gift Hunting
http://acm.hdu.edu.cn/showproblem.php?pid=3236
dp 滚动数组
*
*
*/
#include <cstdio>
#include <algorithm>
using namespace std;
const int Nmax=;
const int INF=1e9;
int dp[][][][];
int v1,v2,n,ans; struct A
{
int w;
int v;
int is;
}a[Nmax]; void init()
{
ans=-INF;
} int work()
{
int t=;
for(int j=;j<=v1;j++)
for(int k=;k<=v2;k++)
dp[t][j][k][]=dp[t][j][k][]=dp[t^][j][k][]=dp[t^][j][k][]=-INF;
dp[t^][][][]=;
for(int i=;i<=n;i++)
{
for(int j=;j<=v1;j++)
{
for(int k=;k<=v2;k++)
{
int v=a[i].v,w=a[i].w;
if(j-v>=)
{
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j-v][k][]+w);
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j-v][k][]+w);
}
if(k-v>=)
{
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k-v][]+w);
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k-v][]+w);
}
if(!a[i].is)
{
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k][]);
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k][]);
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k][]);
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k][]);
}
dp[t][j][k][]=max(dp[t][j][k][],dp[t^][j][k][]+w);
}
}
t^=;
for(int j=;j<=v1;j++)
for(int k=;k<=v2;k++)
dp[t][j][k][]=dp[t][j][k][]=-INF;
}
t^=;
for(int j=;j<=v1;j++)
for(int k=;k<=v2;k++)
{
ans=max(ans,dp[t][j][k][]);
ans=max(ans,dp[t][j][k][]);
}
return max(-,ans);
} int main()
{
//freopen("4.in","r",stdin);
int cases=;
while()
{
cases++;
scanf("%d%d%d",&v1,&v2,&n);
if(!n && !v1 && !v2)
break;
for(int i=;i<=n;i++)
scanf("%d%d%d",&a[i].v,&a[i].w,&a[i].is);
init();
printf("Case %d: %d\n\n",cases,work());
}
return ;
}
HDU3236 Gift Hunting的更多相关文章
- Gift Hunting(分组背包)
Gift Hunting Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- USACO . Greedy Gift Givers
Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange gifts ...
- AngularJS in Action读书笔记6(实战篇)——bug hunting
这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总 ...
- CF# Educational Codeforces Round 3 B. The Best Gift
B. The Best Gift time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- 快来玩“Gift大转盘”百分百赚好礼
现在开始到今年的最后一天,你天天都可以来转100%中奖的“ Gift大转盘 ”.代金券.产品折扣.精美纪念礼,没有多余规则.全部网友都可参加,转到就是你赚到,赶快转起来吧! >>活动主页& ...
- Android内存管理(2)HUNTING YOUR LEAKS: MEMORY MANAGEMENT IN ANDROID PART 2
from: http://www.raizlabs.com/dev/2014/04/hunting-your-leaks-memory-management-in-android-part-2-of- ...
- Codeforces Educational Codeforces Round 3 B. The Best Gift 水题
B. The Best Gift 题目连接: http://www.codeforces.com/contest/609/problem/B Description Emily's birthday ...
- 1002 GTY's birthday gift
GTY's birthday gift Time Limit ...
- [light oj 1328] A Gift from the Setter
1328 - A Gift from the Setter Problem setting is somewhat of a cruel task of throwing something at ...
随机推荐
- 分享一个iOS输入框特殊限制的代码 UITextField (Validation)
//个人总结.欢迎新增或改动 #import <UIKit/UIKit.h> typedef enum{ VALIDATION_TYPE_NUM_VALIDATED = 0,//数字 VA ...
- iOS 隐藏NavigationBar的方法
使用下面方法: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationCon ...
- AES 加密位: 128位,加密模式:CBC, 填充模式:Zeros
// AES 加密 public byte[] AESEncrypt(string text) { byte[] data = Encoding.Unicode.GetBytes(text); Sym ...
- IPv6通讯原理(1) - 不能忽略的网卡启动过程
本文主题:通过抓包分析,深入观察网卡启动过程的每个步骤,从而逐步掌握通讯原理.
- 不用任何插件,实现一个tab栏切换
//使用jquery中获取当前索引的方法.显示隐藏 <script> $(".tab_list li").on('click', function () { $(thi ...
- JDBC基础01
今日知识 1. JDBC基本概念2. 快速入门3. 对JDBC中各个接口和类详解 JDBC: 1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作 ...
- Kafka .NET操作
Kafaka .NET连接 Kafka目前主流在用的.NET客户端有两个:一个是kafka-net,另外一个是Confluent.Kafka,这里给出使用示例: kafka-net示例: public ...
- Solr快速入门(一)
概述 本文档介绍了如何获取和运行Solr,将各种数据源收集到多个集合中,以及了解Solr管理和搜索界面. 首先解压缩Solr版本并将工作目录更改为安装Solr的子目录.请注意,基本目录名称可能随Sol ...
- Install opencv on Centos
研究centos 有很长一段时间了,一直没有写过这方面的感觉,今天在看到网友的一篇文章时,结合亲身体会就下面安装opencv的一些步骤与大家共享. CentOS OpenCV已被广泛应用但是也在不断的 ...
- C++中内存分配、函数调用和返回值问题
转载博客:http://blog.csdn.net/q_l_s/article/details/52176159(源地址找不到,就贴了这位大神的博客地址,他也是转载的,不过要是学习的话,他的博客很不错 ...