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 ...
随机推荐
- WebRequestSugar
用法 WebRequestSugar ws = new WebRequestSugar(); //可选参数 //ws.SetAccept //ws.SetContentType //ws.SetCoo ...
- [JavaEE] Spring学习资源链接
学习规划 http://forrest-lv.iteye.com/blog/1166947 SpringMVC - 框架配置 http://blog.csdn.net/ljhabc1982/artic ...
- AndroidStudio项目CMakeLists解析
# For more information about using CMake with Android Studio, read the# documentation: https://d.and ...
- CSS Flexbox 弹性盒子模型
CSS Flexbox 弹性盒子模型 设置元素样式为 display: flex 或 display: inline-flex, 让元素变成flex容器, 从而可以通过flex模式布局它的子元素. f ...
- Selenium的文件上传JAVA脚本
在写文件上传脚本的时候,遇到了很多问题,包括元素定位,以及上传操作,现在总结下来以下几点: 1. 上传的控件定位要准确,必要时要进行等待 WebElement adFileUpload = drive ...
- JUC集合-BlockingQueue
BlockingQueue 阻塞队列,支持两个附加操作. 1,在队列为空时,获取元素的线程会等待对列变为非空. 2,在队列为满时,存储元素的线程会等待对列可用. 使用场景: 生产者往对列里添加元素 消 ...
- C#中DataSet中的relation
//关系定义的方法是 DataRelation 变量名 = “DataSet对象”.Relations.Add("关系名",DataSet对象.主表.列名 , DataSet对象. ...
- 织梦忘记密码DedeCMS密码重设工具radminpass找回密码
本工具是用于新人忘记管理员密码重设所制作,只需要将radminpass.php文件拷贝到根目录,运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作 ...
- WebStorm2018.2 破解 激活
1.进入http://idea.lanyus.com/,如图: 2.下载http://idea.lanyus.com/jar/JetbrainsCrack-3.1-release-enc.jar . ...
- vue-cli 安装
1 node 下载 http://nodejs.cn/download/ 安装 2 npm install vue-cli -g 3 vue init <template-n ...