Happy Programming Contest(ZOJ3703)(01背包+路径储存)
2024-09-14 11:24:11
Happy Programming Contest ZOJ3703
老实说:题目意思没看懂。。。(希望路过的大神指点)
最后那个the total penalty time是什么意思啊!!!
还是学到点东西的。。。
解题的关键在于:要控制最后所用的时间最少,所以在程序的最开始应该先将输入的各种题目 以时间升序排列, 然后就可以保证每次都以时间小的优先选, 这样就可以保证最后相同的吸引值和解题数的情况下所花的时间最少。
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
struct Point
{
int t,v;
}p[];
bool cmp(Point left,Point right)
{
return left.t<right.t;
}
int dp[],pen[],pro[];
int main ()
{
int test;scanf("%d",&test);
while(test--)
{
int len,n;
scanf("%d%d",&len,&n);
memset(dp,,sizeof(dp));
memset(pro,,sizeof(pro));
memset(pen,,sizeof(pen));
for(int i=;i<=n;++i)
scanf("%d",&p[i].t);
for(int i=;i<=n;++i)
scanf("%d",&p[i].v);
int ans_val=,ans_p=,penalty=;
sort(p+,p++n,cmp);
for(int i=;i<=n;++i)
{
for(int j=len;j>=p[i].t;--j)
{
bool flag=false;
if(dp[j-p[i].t]+p[i].v>dp[j])
flag=true;
else if(dp[j-p[i].t]+p[i].v==dp[j] && pro[j-p[i].t]+>pro[j])
flag=true;
else if(dp[j-p[i].t]+p[i].v==dp[j] && pro[j-p[i].t]+==pro[j] && pen[j-p[i].t]+j<pen[j])
flag=true;
if(flag)
{
dp[j]=dp[j-p[i].t]+p[i].v;
pro[j]=pro[j-p[i].t]+;
pen[j]=pen[j-p[i].t]+j; }
}
}
for(int j=;j<=len;++j)
{
bool flag=false;
if(ans_val<dp[j])
flag=true;
else if(ans_val==dp[j] && ans_p<pro[j])
flag=true;
else if(ans_val==dp[j] && ans_p<pro[j] && penalty>pen[j])
flag=true;
if(flag)
{
ans_val=dp[j];
ans_p=pro[j];
penalty=pen[j];
}
}
printf("%d %d %d\n",ans_val,ans_p,penalty);
}
return ;
}
最新文章
- MAGENTO - APACHE SOLR INTEGRATION - PART II (SETUP)
- CocoaPods 抛出[!] Unable to satisfy the following requirements: 错误
- c++形参改变实参(对指针的理解
- XMPP协议的原理介绍
- Linux--/tmp目录文件重启后自动删除
- 树莓派 (Raspberry Pi) 是什么?普通人怎么玩?(私有云NAS也会有;上传到百度盘的功能nas也有)
- 加密传输SSL协议2_传统加密
- <;转>;ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
- 幻世(OurDream)2D图形引擎使用教程9——处理操作输入(3)
- 可运行jar包调用exe可运行文件,子进程阻塞
- 工作常用git命令
- URI 方法 encodeURI() encodeURIComponent() docodeURI() decodeURIComponent()
- redis---------AOF文件异常导致的redis无法载入
- android Notification总结
- day14,函数的使用方法:生成器表达式,生成器函数
- Android无法删除项目+导入项目报错
- Objective-C weak深入理解
- js 碰撞 + 重力 运动
- 文档根元素 ";mapper"; 必须匹配 DOCTYPE 根 ";configuration";
- HDU 2054 又见GCD