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 ...
随机推荐
- android高速上手(二)android开发环境搭建及hello world
基本了解了java语法,下一步.我们一起开启hello world的神奇之旅. (一)android开发环境搭建 之前搭建android开发环境是件很费力的事情,下载Eclipse.安装ADT等,现在 ...
- 【cl】工程导入
File>Open 导入成功
- Linux用户和组的管理
一.概述: 1.Linux下的三类用户: (1).超级用户(root)具有操作系统的一切权限UID值均为0 (2).普通用户具有操作系统有限的权限UID值500~6000 (3).伪用户是为了方便系统 ...
- hdoj--3488--Tour(KM)
Tour Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submi ...
- golang 初体验
1.下载golang https://code.google.com/p/go/downloads/list 在windows下安装,下载windows32版本 2.安装 安装完毕,默认在C:\Go ...
- 记录,javascript中对象的属性名是字符串,却可以不用引号
问题描述:今日看书,里面介绍js的对象的属性名是包括空字符串在内的所以字符串 问题来了,我们平时定义的对象如下,是没有引号""or’'的 var someone = { f ...
- POJ 3613 floyd+矩阵快速幂
题意: 求s到e恰好经过n边的最短路 思路: 这题已经被我放了好长时间了. 原来是不会矩阵乘法,快速幂什么的也一知半解 现在终于稍微明白了点了 其实就是把矩阵乘法稍微改改 改成能够满足结合律的矩阵&q ...
- 备忘录模式(Memento)C++实现
备忘录模式 意图: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将改对象恢复到原先保存的状态. 适用性: 1.必须保存一个对象在某一个时刻的部分状态,这样以 ...
- [hihocoder][Offer收割]编程练习赛49
相似颜色 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #includ ...
- sql中数据库连接与断开式连接有什么区别?
连接式指的是对数据的操作在 conn.Open() 与 conn.Close()之间: 断开式连接指的是 conn.Open()打开连接之后,先将数据放入adapter中,然后关闭连接(conn.Cl ...