HDU 4508 湫湫系列故事——减肥记I(全然背包)

http://acm.hdu.edu.cn/showproblem.php?pid=4508

题意:

有n种食物, 每种食物吃了能获得val[i]点幸福度和cost[i]点热量, 如今湫湫每天吃东西的热量不能超过m点. 问她最多能获得多少点幸福度?

分析:

基础的全然背包问题.

本题的限制条件是: 热量总量<=m

本题的目的条件是: 幸福度越大越好.

所以我们令dp[i][j]==x表示仅仅吃前i种食物且总热量不超过j时能获得的最大幸福度为x.

初始化: dp全为0.

状态转移: dp[i][j] = max( dp[i-1][j] , dp[i][j-cost[i]]+val[i])

前者表示第i种物品一个都不选, 后者表示至少选1个第i种物品.

终于所求: dp[n][m].

程序实现用的滚动数组逆序递推, 所以dp仅仅有[j]这一维.

AC代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100000+5; int n; //物品种数
int cost[100+5];//热量值
int val[100+5]; //幸福度
int m; //热量限制
int dp[maxn]; int main()
{
while(scanf("%d",&n)==1)
{
for(int i=1;i<=n;i++)
scanf("%d%d",&val[i],&cost[i]);
scanf("%d",&m);
memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++)
{
for(int j=cost[i];j<=m;j++)
dp[j] = max(dp[j], dp[j-cost[i]]+val[i]);
}
printf("%d\n",dp[m]);
}
return 0;
}

HDU 4508 湫湫系列故事——减肥记I(全然背包)的更多相关文章

  1. 完全背包问题:湫湫系列故事――减肥记I(HDU 4508)

    湫湫系列故事――减肥记I  HDU 4508 一道裸的完全背包 #include<iostream> #include<algorithm> #include<stdio ...

  2. HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包)

    HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包) 题意分析 裸完全背包 代码总览 #include <iostream> #include <cstdio& ...

  3. HDUOJ----湫湫系列故事——减肥记I

    湫湫系列故事——减肥记I Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  4. hdu4508 完全背包,湫湫系列故事——减肥记I

    湫湫系列故事——减肥记I 对于01背包和完全背包,昨晚快睡着的时候,突然就来了灵感 区别:dp[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值 在第二重循环,01 是倒着循环的,因 ...

  5. HDUOJ----4509湫湫系列故事——减肥记II

    湫湫系列故事——减肥记II Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  6. G - 湫湫系列故事——减肥记I

    G - 湫湫系列故事——减肥记I Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u De ...

  7. M - 湫湫系列故事——减肥记I

    M - 湫湫系列故事--减肥记I 对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热量)是天敌啊! 资深美女湫湫深谙"胖来如山倒,胖去如抽丝"的道理,所 ...

  8. HDU 4508 湫湫系列故事——减肥记I (2013腾讯编程马拉松初赛第一场)

    http://acm.hdu.edu.cn/showproblem.php?pid=4508 题目大意: 给定一些数据. 每组数据以一个整数n开始,表示每天的食物清单有n种食物.  接下来n行,每行两 ...

  9. 【完全背包】HDU 4508 湫湫系列故事——减肥记I

    Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) ...

随机推荐

  1. 一步一步学数据结构之n--n(Prim算法)

    在这里说下最小连通网的Prim算法: 而Kruskal算法,http://blog.csdn.net/nethanhan/article/details/10050735有介绍,大家可以去看下! Pr ...

  2. 大到可以小说的Y组合子(二)

    问:上一回,你在最后曾提到"抽象性不足",这话怎么说? 答:试想,如果现在需要实现一个其它的递归(比如:Fibonacci),就必须把之前的模式从头套一遍,然后通过fib_make ...

  3. fullcalendar .net版本

    实现了基本的增删改和拖拽,先记与此,抽时间继续优化和完善. 参考链接:http://www.helloweba.com/tag-fullcalendar.html 参考demo:   http://f ...

  4. Transform 1

    Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一 ...

  5. C#鼠标键盘钩子

    using System;using System.Collections.Generic; using System.Reflection; using System.Runtime.Interop ...

  6. FFMPEG视音频解码【一】

    多媒体的时代,得多了解点编解码的技术才行,而ffmpeg为我们提供了一系列多媒体编解码的接口,如何用好这些接口达到自己所需要的目的,这也是一门重要的学问. 要是了解得不够,总是会遇到一堆又一堆问题:网 ...

  7. iOS-tableView点击下拉菜单

    #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableVi ...

  8. js 之 Post发送请求

    // ajax 对象 function ajaxObject() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new X ...

  9. JDK,TomCat安装配置

    JDK.Tomcat.myEclipse安装配置 准备安装包 JAVA运行环境包 JDK1.7下载地址: http://www.veryhuo.com/down/html/43205.html Jsp ...

  10. Cleaning Shifts(POJ 2376 贪心)

    Cleaning Shifts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15143   Accepted: 3875 ...