HDU 1712 ACboy needs your help 分组背包裸题
来源:互联网 发布:ug加工编程 编辑:程序博客网 时间:2024/05/21 10:44
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=1712
题意:
有n个课,要求在m天内学完。每个课学习不同的天数(1~m)会得到不同的利益,每个课只能学习一次,求最大利益
思路:
分组背包裸题。把每个课看做一个分组,学习的天数作为花费,所得到的利益作为价值,就可以套用背包了,定义dp[i][j]为前i个分组花费j天所获得的最大利益,状态转移方程为dp[i][j] = max(dp[i-1][j], dp[i-1][j-cost] + val),其中cost<=j
代码:
#include <bits/stdc++.h>using namespace std;const int N = 110;int main(){ int n, m; int a[N][N], dp[N]; while(scanf("%d%d", &n, &m), n || m) { for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) scanf("%d", &a[i][j]); memset(dp, 0, sizeof dp); for(int i = 1; i <= n; i++) for(int j = m; j >= 1; j--) for(int k = 1; k <= j; k++) dp[j] = max(dp[j], dp[j-k] + a[i][k]); printf("%d\n", dp[m]); } return 0;}
0 0
- HDU 1712 ACboy needs your help 分组背包裸题
- hdu 1712 ACboy needs your help(分组背包入门题)
- HDU 1712 ACboy needs your help(分组背包模板题)
- HDU-1712 ACboy needs your help (分组背包 入门题)
- hdu 1712 ACboy needs your help 分组背包
- HDU 1712 ACboy needs your help(分组背包)
- 【hdu 1712】ACboy needs your help (分组背包)
- hdu 1712 ACboy needs your help (分组背包)
- hdu 1712 ACboy needs your help(分组背包)
- hdu 1712 ACboy needs your help(分组背包)
- HDU 1712 ACboy needs your help ----分组背包
- hdu 1712 ACboy needs your help (分组背包)
- hdu 1712 ACboy needs your help(分组背包)
- HDU 1712 ACboy needs your help(DP 分组背包)
- hdu 1712 ACboy needs your help (分组背包)
- hdu 1712 ACboy needs your help(分组背包)
- hdu 1712ACboy needs your help 01背包(分组)
- HDU 1712 ACboy needs your help (分组背包)
- 《算法分析与设计》Week 7
- [bzoj2530]Party
- 【转】python学习--用PyInstaller把Python代码打包成单个独立的exe可执行文件
- 【Linux学习笔记】四、帮助命令
- 浅谈ECMAScript和JavaScript的关系
- HDU 1712 ACboy needs your help 分组背包裸题
- 【Linux学习笔记】五、用户管理命令
- 中国人最近常在汉语里添加的英文词
- 一站式学习Wireshark(四):网络性能排查之TCP重传与重复ACK
- java大数运算简洁版
- Cookie属性
- 考查初级嵌入式开发人员C基本功的16道题
- Java基础语法-8
- 华为手机logcat不出日志解决方案