hdu 5234 Happy birthday

题意:
今天是Gorwin的生日。所以她的妈妈要实现她的一个愿望。Gorwin说她想吃很多蛋糕。所以他妈妈带她来到了蛋糕园。
这个园子被分成了n*m个方格子。在每一个格子里面,有一个蛋糕。第i行,第j列的格子中有一个重量为w[i][j]千克的蛋糕,Gorwin从左上角(1,1)的格子开始走,走到右下角(n,m)的格子。在每一步中,Gorwin可以向右或者向下走,即是:Gorwin站在(i,j)的时候,她可以走向(i+1,j)或者(i,j+1) (然而她不能走出这个花园)。
当Gorwin到达一个格子的时候,她可以把那个格子里面的蛋糕吃完或者不吃。但是,她不能只吃一部分。她的胃不是那么大,所以她最多只能吃K千克的蛋糕。现在,Gorwin站在左上角,她在看蛋糕园的地图,想要找出一条路,能够使得她吃到的蛋糕最多的一条路。请你来帮帮忙。

限制:
0 < n,m,k,w[i][j] <= 100

思路:
01背包
处理好一维,二维就行了。
复杂度O(n^3)

/*hdu 5234 Happy birthday题意:今天是Gorwin的生日。所以她的妈妈要实现她的一个愿望。Gorwin说她想吃很多蛋糕。所以他妈妈带她来到了蛋糕园。这个园子被分成了n*m个方格子。在每一个格子里面,有一个蛋糕。第i行,第j列的格子中有一个重量为w[i][j]千克的蛋糕,Gorwin从左上角(1,1)的格子开始走,走到右下角(n,m)的格子。在每一步中,Gorwin可以向右或者向下走,即是:Gorwin站在(i,j)的时候,她可以走向(i+1,j)或者(i,j+1) (然而她不能走出这个花园)。当Gorwin到达一个格子的时候,她可以把那个格子里面的蛋糕吃完或者不吃。但是,她不能只吃一部分。她的胃不是那么大,所以她最多只能吃K千克的蛋糕。现在,Gorwin站在左上角,她在看蛋糕园的地图,想要找出一条路,能够使得她吃到的蛋糕最多的一条路。请你来帮帮忙。限制:0 < n,m,k,w[i][j] <= 100思路:01背包处理好一维,二维就行了。复杂度O(n^3)*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=105;
int a[N][N];
int dp[N][N][N];
void init(){memset(dp,0,sizeof(dp));
}
void gao(int n,int m,int v){for(int i=a[0][0];i<=v;++i){dp[0][0][i]=a[0][0];}for(int i=1;i<n;++i){for(int j=0;j<=v;++j){if(j<a[i][0])dp[i][0][j]=dp[i-1][0][j];elsedp[i][0][j]=max(dp[i-1][0][j],dp[i-1][0][j-a[i][0]]+a[i][0]);}}for(int i=1;i<m;++i){for(int j=0;j<=v;++j){if(j<a[0][i])dp[0][i][j]=dp[0][i-1][j];elsedp[0][i][j]=max(dp[0][i-1][j],dp[0][i-1][j-a[0][i]]+a[0][i]);}}for(int i=1;i<n;++i){for(int j=1;j<m;++j){for(int k=0;k<=v;++k){if(k<a[i][j])dp[i][j][k]=max(dp[i-1][j][k],dp[i][j-1][k]);elsedp[i][j][k]=max(max(dp[i-1][j][k],dp[i-1][j][k-a[i][j]]+a[i][j]),max(dp[i][j-1][k],dp[i][j-1][k-a[i][j]]+a[i][j]));}}}printf("%d\n",dp[n-1][m-1][v]);
}
int main(){int n,m,k;while(scanf("%d%d%d",&n,&m,&k)!=EOF){init();for(int i=0;i<n;++i)for(int j=0;j<m;++j)scanf("%d",&a[i][j]);gao(n,m,k);}return 0;
}

hdu 5234 Happy birthday相关推荐

  1. hdu 5234 动态规划

    http://acm.hdu.edu.cn/showproblem.php?pid=5234 1 1 2 //n,m,k(1--100) 3 2 3 100 1 2 3 4 5 6 Sample Ou ...

  2. HDU 5234 Happy birthday 01背包

    题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5234 bc:http://bestcoder.hdu.edu.cn/contests/con ...

  3. HDU 5234 Happy birthday 最多蛋糕

    原题: http://acm.hdu.edu.cn/showproblem.php?pid=5234 题目: Happy birthday Time Limit: 2000/1000 MS (Java ...

  4. hdu 5234 Happy birthday 背包 dp

    Happy birthday Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?p ...

  5. HDU 5234 DP背包

    题意:给一个n*m的矩阵,每个点是一个蛋糕的的重量,然后小明只能向右,向下走,求在不超过K千克的情况下,小明最终能吃得最大重量的蛋糕. 思路:类似背包DP: 状态转移方程:dp[i][j][k]--- ...

  6. hdu 5234 - Happy birthday DP

    Happy birthday Accepts: 178 Submissions: 511 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65 ...

  7. vscode写php高亮,写了一个Hy的vscode语法高亮插件

    -------2018 8 3----------- 把函数名和参数改了,正则有点古怪,参考自带的lambda表达式才搞定 但彩色括号走了弯路,各种配图有彩色括号的插件其实很少是自己搞的,其实只要再装 ...

  8. 如何查看linux网络io,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  9. HDOJ 5234 Happy birthday

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5234 题意涉及到取与不取求最大值的问题,很容易想到的是运用背包去求解,不过这是在一个二维的格子中我们不 ...

最新文章

  1. Kali Linux软件更新日报20190623
  2. a = 3 中3在栈还是堆_56.堆、栈、方法区(3.0)
  3. 交互神器 Facebook Origami
  4. 七、排序(3)——线性排序
  5. apache代理时java获取IP的问题
  6. 启动mq 在虚拟机中_记在使用rocketmq client客户端过程中踩到的坑
  7. 获取文件的MIME类型
  8. 程序员如何在百忙中更有效地利用时间,如何不走岔路,不白忙(忙得要有效率,要有收获)...
  9. 移动互联网和Android给你带来的机会[轉]
  10. 博客园的“随笔、文章、新闻、日记”有啥区别
  11. SiamFC 文章阅读
  12. 微搭低代码中实现二维码生成
  13. 自适应滤波器3-最速下降算法
  14. Android为什么图片模糊不清,Android打开图库中图片为什么从模糊变清晰
  15. Python 处理 PDF 的神器 -- PyMuPDF(下)
  16. Excel 绘制正态概率图-正态性检验
  17. 【vue】To install them, you can run: npm install --save aws-sdk module
  18. timeAxis.js--一个简单的时间轴JS框架--仿苹果官网
  19. win10计算机里文件夹怎么删除文件,电脑文件夹删不掉怎么办(win10家庭版文件夹如何加密)...
  20. 微信支付宝个人收款解决方案之免签约支付解决方案之APP监控通知方案

热门文章

  1. 《设计模式入门》 19.命令模式
  2. 学堂云 减脂与运动塑形
  3. intellij idea cpu占用率太大太满 运行速度太慢 使了五个解决方法最终成功
  4. 矩阵论(零):线性代数基础知识整理(1)——逆矩阵、(广义)初等变换、满秩分解
  5. python rasterio库和gdal库匹配与冲突问题安装办法
  6. 轻松完成销售业绩的6个技巧
  7. 基于Android的学生信息管理大作业
  8. Google浏览器被劫持解决方法
  9. Java Web课程体系
  10. 基于JAVA第二课堂选课系统计算机毕业设计源码+系统+lw文档+部署