题意:
在一个矩形的矩阵中,从1,1出发,每次只能向右或者下走,每次可以选择吃或者不吃每个格子里的蛋糕,问在容量为C的情况下,最多吃多少?

分析:
01背包的变形。
dp[i][j][k]表示在i,j点时吃的最大的重量。
dp[i][j][k]=max(max(dp[i-1][j][k],dp[i][j-1][k]),max(dp[i-1][j][k-mp[i][j]]+mp[i][j],dp[i][j-1][k-mp[i][j]]+mp[i][j]));
结果就是dp[n][m][c];

#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <vector>
#include <map>
#include <queue>
#include <algorithm>
#define read freopen("q.in","r",stdin)
#define LL long long
#define maxn 105
using namespace std;
int mp[maxn][maxn];
int dp[maxn][maxn][maxn];int main()
{int n,m,c;while(~scanf("%d%d%d",&n,&m,&c)){int i,j;memset(dp,0,sizeof(dp));memset(mp,0,sizeof(mp));for(i=1;i<=n;i++){for(j=1;j<=m;j++)scanf("%d",&mp[i][j]);}for(i=1;i<=n;i++){for(j=1;j<=m;j++){for(int k=0;k<=c;k++){if(k>=mp[i][j])dp[i][j][k]=max(max(dp[i-1][j][k],dp[i][j-1][k]),max(dp[i-1][j][k-mp[i][j]]+mp[i][j],dp[i][j-1][k-mp[i][j]]+mp[i][j]));}}}cout<<dp[n][m][c]<<endl;}
}

[DP]hdu5234相关推荐

  1. dp,sp,px相互转化

    方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...

  2. [JS][dp]题解 | #打家劫舍(一)#

    题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...

  3. HDU 2084 数塔(DP)(JAVA版)

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. dp cf 20190615

    A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...

  5. BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)

    Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MB Submit ...

  6. [NOI2005]聪聪与可可(期望dp)

    题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...

  7. Codeforces 903F Clear The Matrix(状态压缩DP)

    题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...

  8. 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)

    A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05   最后更新: 2017年2月21日 20:06   时间限制: 1000ms   内存限制: 128M 描述 传说喵哈哈村有三种神 ...

  9. 尼克的任务 dp 洛谷1280

    蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...

最新文章

  1. Java程序员面试中的多线程问题1
  2. json模块及其API
  3. vuejs mvvm图解
  4. 【Xamarin.Android】应用消费品
  5. react native 包学不包会系列--认识react native
  6. 《SQL必知必会(第4版)》 02 检索数据
  7. 汇编调用c函数为什么要设置栈
  8. Paddle 基于预训练模型 ERNIE-Gram 实现语义匹配
  9. 从有理数到实数和数的连续体
  10. VS系列IDE(2005、2008等)下使用cppunit的方法及使用示例
  11. android全局livedata,Android 使用ViewModel,LiveData高效、简
  12. MOSS自带SPDatePickerControl控件的使用
  13. 无锡梅里旅游策划方案——中国第一锡宫!
  14. 决定重新安装windows2016datacenter 系统。原先的俄罗斯版没虚拟机功能
  15. 网易2018年春招 校招编程题
  16. K近邻的MATLAB实现
  17. 论文图片模糊问题的解决
  18. 梁漱溟:做学问的八个境界
  19. 关于谷歌浏览器无法正常上传图片的问题
  20. Linux报错:Syntax error: “(“ unexpected解决办法,elf

热门文章

  1. 基于 Python 的地理空间绘图指南
  2. python爬虫表格table_Python基于pandas爬取网页表格数据
  3. 18岁开始学习编程是否来得及?
  4. 信息安全三要素CIA
  5. 放弃VMware改投VirtualBox的五个理由
  6. python wheel是什么意思_python中wheel指的是什么
  7. 1.冯诺依曼体系结构组成及其特点
  8. 工程测量计算机在线用,《用TI 图形计算器学编程》—应用篇—工程测量.pdf
  9. SQL消费表中查找所有用户最后一条消费记录
  10. [coreboot]coreboot porting for RISCV