HDU 5410(2015多校10)-CRB and His Birthday(全然背包)
题目地址:HDU 5410
题意:有M元钱,N种礼物,若第i种礼物买x件的话。会有Ai*x+Bi颗糖果,现给出每种礼物的单位价格、Ai值与Bi值。问最多能拿到多少颗糖果。
思路:全然背包问题。
dp[j][1]在当前物品时花钱为j的而且买过当前物品的最大值。
dp[j][0]不买当前这件物品此前花钱为j的的最大值。
每种物品的价值随Ai线性变化,可是不随B[i]线性变化。B[i]仅是在第一次挑选第i件物品是才算入,其它时候均不算入。
所以我们能够写出状态转移方程:
dp[j][0]=max(dp[j][1],dp[j][0]);
dp[j][1]=max(dp[j-q[i].w][0]+q[i].a+q[i].b,dp[j-q[i].w][1]+q[i].a);
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <iostream>
#include <sstream>
#include <algorithm>
#include <set>
#include <queue>
#include <stack>
#include <map>
#include <bitset>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
typedef long long LL;
const int inf=0x3f3f3f3f;
const double pi= acos(-1.0);
const double esp=1e-7;
const int Maxn=2010;
struct node
{
int a,b,w;
}q[Maxn];
int dp[Maxn][2];
int main()
{
int T,n,m,i,j;
scanf("%d",&T);
while(T--){
scanf("%d %d",&m,&n);
for(i=1;i<=n;i++)
scanf("%d %d %d",&q[i].w,&q[i].a,&q[i].b);
memset(dp,0,sizeof(dp));
for(i=1;i<=n;i++){
for(j=0;j<=m;j++){
dp[j][0]=max(dp[j][1],dp[j][0]);
if(j>=q[i].w)
dp[j][1]=max(dp[j-q[i].w][0]+q[i].a+q[i].b,dp[j-q[i].w][1]+q[i].a);
}
}
printf("%d\n",max(dp[m][0],dp[m][1]));
}
return 0;
}
HDU 5410(2015多校10)-CRB and His Birthday(全然背包)的更多相关文章
- HDU 5407(2015多校10)-CRB and Candies(组合数最小公倍数+乘法逆元)
题目地址:pid=5407">HDU 5407 题意:CRB有n颗不同的糖果,如今他要吃掉k颗(0<=k<=n),问k取0~n的方案数的最小公倍数是多少. 思路:首先做这道 ...
- hdu 5288||2015多校联合第一场1001题
pid=5288">http://acm.hdu.edu.cn/showproblem.php?pid=5288 Problem Description OO has got a ar ...
- hdu5414(2015多校10)--CRB and String(字符串匹配)
题目链接:pid=5414">点击打开链接 题目大意:有A.B两个字符串.如今有一种操作能够在A的随意一个字符x后面添加一个字符y(x.=y).问能不能将A变为B. 首先假设A能够变成 ...
- HDU 5358(2015多校联合训练赛第六场1006) First One (区间合并+常数优化)
pid=5358">HDU 5358 题意: 求∑i=1n∑j=in(⌊log2S(i,j)⌋+1)∗(i+j). 思路: S(i,j) < 10^10 & ...
- HDU 5373(2015多校7)-The shortest problem(模拟%11)
题目地址:pid=5373">HDU 5373 题意:给你一个数n和操作次数t,每次操作将n的各位数之和求出来放在n的末尾形成新的n,问t次操作后得到的n能否够被11整除. 思路:就是 ...
- HDU 5326(2015多校3)-Work(dfs)
题目地址:pid=5326">HDU 5326 题意:给一张有向图n个点.n - 1(....输入n-1)条边. A指向B代表A管理B.然后能够间接管理,比方A管理B,B管理C.则A管 ...
- hdu 5361 2015多校联合训练赛#6 最短路
In Touch Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total ...
- HDU 5371(2015多校7)-Hotaru's problem(Manacher算法求回文串)
题目地址:HDU 5371 题意:给你一个具有n个元素的整数序列,问你是否存在这样一个子序列.该子序列分为三部分,第一部分与第三部分同样,第一部分与第二部分对称.假设存在求最长的符合这样的条件的序列. ...
- 2015暑假多校联合---CRB and His Birthday(01背包)
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5410 Problem Description Today is CRB's birthda ...
随机推荐
- 浙大PAT考试1013~1016(最伤的一次。。)
我能说我1016WA了几天都不得最后还是拿别人代码交的么. .. 真心找不到那个神数据.. . 自己把整个程序的流程都画出来了.细致推敲是木有问题的啊... 题目地址:点击打开链接 先从1013開始介 ...
- PHP--规范化的文件上传
<form action="" method="post" enctype="multipart/form-data"> < ...
- [HTML5] Accessibility Implementation for complex component
When you developing a complex component by your own, one thing you cannot ignore is Accessibility. C ...
- Apache Pig的前世今生
近期,散仙用了几周的Pig来处理分析我们站点搜索的日志数据,感觉用起来非常不错,今天就写篇笔记介绍下Pig的由来,除了搞大数据的人,可能非常少有人知道Pig是干啥的.包含一些是搞编程的,但不是搞大数据 ...
- java 递归实现删除或查询指定目录下的全部文件
/** * 递归列举盘符下的全部文件的名称,如E:\HeartIsland * * @author HeartIsland * */ public class FileListDemo { /** * ...
- 微软ASP.NET网站部署指南(3):使用Web.Config文件的Transformations
1. 综述 大多数程序里都会在Web.config里设置參数,而且在部署的时候须要更改. 每次都手工更改这些配置非常乏味,也easy出错. 该章节将会告诉你假设通过自己主动化更新Web.config文 ...
- ASP.NET Core-组件-后台任务:Hangfire
ylbtech-ASP.NET Core-组件-后台任务:Hangfire Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在.net core的环境中,由Core自带的 ...
- 日志记录~log4.net
1. 添加Log4net引用 2. 添加配置文件 Log.config <?xml version="1.0" encoding="utf-8"?> ...
- ValueProvider核心的值提供系统
Model绑定的数据具有多种来源: 提交的表单 Json字符串 当前路由数据 请求地址的查询字符串 ASP.NET MVC将这种基于不同数据来源的数据提供机制实现在ValueProvider的组件中 ...
- CommonsMultipartFile---用Spring实现文件上传
CommonsMultipartFile Spring提供的读取文件的类,使用方便,依赖spring-web-3.1.2.RELEASE.jar 包路径: java.lang.Object org.s ...