hdu3496 Watch The Movie(二维01背包)
来源:互联网 发布:process monitor 知乎 编辑:程序博客网 时间:2024/05/17 00:00
至今为止见过最恶心一道题。。。
思路是二维的01背包,这个只不过是多了一个限制条件,所以也就多了一层判断,状态方程也要变。大致懂了二维背包是什么了。。。
可是,初始化存在大问题,参考了n篇博客,初始化为-1的,我实在不能理解。
可是负无穷也明显是错的啊,题中明明写着She give a value Vi (Vi > 0) of the N piece of movies. V大于0啊!!!
还有题目的输出,If DuoDuo can’t watch all of the movies that her uncle had bought for her, please output 0.意思就是不能全部看完她叔叔买的录像才会输出0。我按照这种方式输出WA,看了别人的居然是总的喜欢值小于0输出0,这明显题不对口啊!
唯一一个解释应该就是题的问题了,代码放上来我也不知道怎么改了,如果有谁想通了留言吧
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;const int N = 105;const int INF = 1000000;int ans, a[N], dp[N], pos[N];int n, d;int main(){ // freopen("in.txt", "r", stdin); int i, j, t, k, n, m, l; int dp[N][1111], time[N], value[N]; scanf("%d", &t); while(t --) { scanf("%d%d%d", &n, &m, &l); for(i = 0; i < n; i ++) scanf("%d%d",&time[i], &value[i]); for(i = 0; i <= m; i ++) { for(j = 0; j <= l; j++) { if(i == 0) dp[i][j] = 0; else dp[i][j] = - INF;//价值可能为负数 } } for(i = 0; i < n; i ++) for(j = m; j >= 1; j --) for(k = l; k >= time[i]; k --)//这里为何是time[i]截止而不是0截止 dp[j][k] = max(dp[j][k], dp[j - 1][k - time[i]] + value[i]); if(dp[m][l] < 0) dp[m][l] = 0; printf("%d\n", dp[m][l]); } return 0;}
0 0
- HDU3496:Watch The Movie(二维01背包)
- HDU3496:Watch The Movie(二维01背包)
- hdu3496 Watch The Movie(二维01背包)
- hdu3496 Watch The Movie(二维01背包)
- HDU3496:Watch The Movie(二维01背包)
- hdu3496 Watch The Movie (二维背包)
- HDU3496 Watch The Movie(二维费用背包)
- HDU3496 Watch the moive (二维01背包)
- 动态规划:HDU3496-Watch The Movie(二维费用的背包问题)
- hdu3496-Watch The Movie二维费用DP
- hdu3496 Watch The Movie
- HDU3496:Watch The Movie
- HDU3496-Watch The Movie
- HDU 3496 Watch The Movie(二维01背包)
- hdu 3496 Watch The Movie(二维01背包)
- hdu 3496 Watch The Movie(二维01背包)
- hdu 3496 Watch The Movie(二维01背包)
- HDU-3496-Watch The Movie(二维01背包问题)
- YTU 2418: C语言习题 矩阵元素变换
- 字符串流2
- 杂谈-环境
- fzu2178礼物分配 (状压+二分)
- cocos-js ExportJson
- hdu3496 Watch The Movie(二维01背包)
- C语言学习记录(五):指针和数组(下)
- Emoji 表情
- android 自定义圆形ProgressBar
- 【cin】练习
- 学习android过程中的试用成功的知识点
- nginx
- caffe base_conv_layers.cpp 学习
- YTU 2426: C语言习题 字符串排序