HDU 4508】的更多相关文章

湫湫系列故事――减肥记I  HDU 4508 一道裸的完全背包 #include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; ],a[],b[]; int main() { int n,i,j,m; while(scanf("%d",&n)!=EOF) { ;i<n;i++) scanf(&qu…
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时能获得的最大幸福度为…
HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包) 题意分析 裸完全背包 代码总览 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define nmax 100005 #define nn 105 using namespace std; int dp[nmax]; struct item{ int hap; int kal…
pid=4508">http://acm.hdu.edu.cn/showproblem.php?pid=4508 题目大意: 给定一些数据. 每组数据以一个整数n開始,表示每天的食物清单有n种食物. 接下来n行,每行两个整数a和b.当中a表示这样的食物能够带给湫湫的幸福值(数值越大,越幸福),b表示湫湫吃这样的食物会吸收的卡路里量. 最后是一个整数m,表示湫湫一天吸收的卡路里不能超过m. 思路: 全然背包. 一開始以为是01背包. 敲了01后例子2不正确啊... 然后改成全然就过了..就改…
http://acm.hdu.edu.cn/showproblem.php?pid=4508 题目大意: 给定一些数据. 每组数据以一个整数n开始,表示每天的食物清单有n种食物.  接下来n行,每行两个整数a和b,其中a表示这种食物可以带给湫湫的幸福值(数值越大,越幸福),b表示湫湫吃这种食物会吸收的卡路里量. 最后是一个整数m,表示湫湫一天吸收的卡路里不能超过m. 思路: 完全背包. 一开始以为是01背包. 敲了01后样例2不对啊!!! 然后改成完全就过了..就改循环体就好了.. #inclu…
减肥记 湫湫给了你每日食物清单,上面描述了当天她想吃的每种食物能带给她的幸福程度,以及会增加的卡路里量. Input 输入包含多组测试用例. 每组数据以一个整数n开始,表示每天的食物清单有n种食物. 接下来n行,每行两个整数a和b,其中a表示这种食物可以带给湫湫的幸福值(数值越大,越幸福),b表示湫湫吃这种食物会吸收的卡路里量. 最后是一个整数m,表示湫湫一天吸收的卡路里不能超过m. [Technical Specification] 1. 1 <= n <= 100 2. 0 <= a…
题意:完全背包 思路:完全背包 可以直接转化为 多重背包,num[i]=_v/c[i];//转为多重背包然后运用 多重背包 3种解法如下码1: #include<iostream> #include<stdio.h> #include<string.h> using namespace std; ]; int main() { int i,j,k,tem; int t,n,_v;//测试用例个数,物品种类,背包大小 ],v[];//花费,价值 ];//每种物品个数 in…
Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 1   Accepted Submission(s) : 1 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热…
题意:有n种食物,每种食物可以给湫湫带来一个幸福感a,同时也会给她带来b的卡路里的摄入,然后规定她一天摄入的卡路里的量不能超过m,一共有n种食物,问可以得到的 最大的幸福感是多少? 解题报告:一开始以为是01背包,没看题,然后发现题目里面没有说每种食物只能吃一次,才发现是个完全背包,一开始还以为题目的第二组测试数据是错的,无语... #include<cstdio> #include<cstring> #include<iostream> #include<alg…
原题链接:点击此处 解题思路: 思路与01背包差不多,思路用二维数组表示: dp[i][v]=max{dp[i-1][v-k*b[i]]+k*a[i]|0<=k*b[i]<=v} 其dp(i,v)表示“把i个物体放进容量为j的包里”. 伪代码如下: ..N ..V f[v]=max{f[v],f[v-b[i]]+a[i]} 因此可以简单的写出程序. 源代码如下: #include <cstdio> #include <cstring> int max(int a,int…