HDU 4508 湫湫系列故事——减肥记I
来源:互联网 发布:小天才手表显示无网络 编辑:程序博客网 时间:2024/05/22 08:01
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=4508
解题思路:
赤裸裸的完全背包。
虽然题目没有说食物是不是能吃多次,但是我们从第2个样例就能看出来这是个完全背包问题。
源代码:
#include<stdio.h>#include<iostream>#include<stdlib.h>#include<cmath>#include<string>#include<vector>#include<algorithm>using namespace std;typedef long long LL;struct node{ int c,v;}s[105];int n,m;int dp[100005]; //容量为i最多能得到的价值bool cmp(node a,node b){ if(a.c==b.c) return a.v>b.v; return a.c<b.c;}void Zeroonepack(int c,int v){ int i; for(i=c;i<=m;i++) { dp[i]=max(dp[i],dp[i-c]+v); } return;}int main(){ freopen("in.txt","r",stdin); int i; while(scanf("%d",&n)==1) { for(i=1;i<=n;i++) scanf("%d%d",&s[i].v,&s[i].c); scanf("%d",&m); sort(s,s+n,cmp); memset(dp,0,sizeof(dp)); for(i=1;i<=n;i++) { if(s[i].c>s[i-1].c && s[i].v<s[i-1].v) continue; Zeroonepack(s[i].c,s[i].v); } printf("%d\n",dp[m]); } return 0;}
- Hdu 4508 湫湫系列故事——减肥记I (完全背包)
- HDU 4508 湫湫系列故事——减肥记I
- HDU 4508 湫湫系列故事——减肥记I
- HDU 4508 湫湫系列故事——减肥记I(完全背包模板)
- hdu 4508 湫湫系列故事——减肥记I
- hdu 4508 湫湫系列故事——减肥记I
- HDU 4508 - 湫湫系列故事——减肥记I
- HDU 4508 湫湫系列故事——减肥记I(完全背包)
- HDU 4508 湫湫系列故事——减肥记I
- HDU 4508 湫湫系列故事——减肥记I(简单的完全背包)
- HDU 4508--湫湫系列故事——减肥记I【完全背包】
- hdu 4508 湫湫系列故事——减肥记I 完全背包。
- HDU ACM 4508 湫湫系列故事——减肥记I
- HDU 4508 湫湫系列故事——减肥记I(完全背包)
- HDU 4508 湫湫系列故事——减肥记I
- HDU 4508(湫湫系列故事——减肥记I)基础完全背包
- HDU 4508 湫湫系列故事——减肥记I (完全背包)
- hdu 4508 湫湫系列故事——减肥记I (最简单的完全背包)
- C语言信号实现时钟
- vim 添加当前文件名
- QTableWidget 应用总结
- hdu2100Lovekey
- 魔方阵算法及C语言实现
- HDU 4508 湫湫系列故事——减肥记I
- phpmyadmin:Call to undefined function __() Config.class.php on line 755 解决办法
- 【随机化算法】
- 10050 - Hartals
- C语言信号-捕捉子进程退出的信号
- Maya: 菜单Create > Subdiv Primitives > Sphere
- 深入云存储系统Swift存储节点:存储实现分析
- C语言信号量实现两线程循环打印
- 字符编码