hdu 5234 Happy birthday 背包 dp
Happy birthday
Time Limit: 20 Sec Memory Limit: 256 MB
题目连接
http://acm.hdu.edu.cn/showproblem.php?pid=5234
Description
Input
多组测试数据(大概15组), 每一组数据在一行中给出n, m, K.
在接下来n行中,第i行有m个整数wi1,wi2,wi3,⋯wim,代表第i行m个蛋糕的重量。
请处理到文件末尾。
[参数约定]
所有输入均为整数。
1<=n,m,K<=100
1<= wij <=100
Output
对于每一个数据,输出一个值,代表Gorwin最多能吃到的蛋糕重量。
Sample Input
Sample Output
0 16
HINT
在第一组数据中,Gorwin不能吃蛋糕的一部分,所以她不能吃掉任何蛋糕。 在第二个数据中,Gorwin按照以下路径行走(1,1)->(2,1)->(2,2)->(2,3) 当她通过一个格子的时候,就把那个格子里面的蛋糕吃光。这样她吃的总重量就是1+4+5+6=16。
题意
题解:
背包DP,dp[i][j][k]表示在i,j位置,容量为k的最大值
然后就转移转移就好了!
代码:
//qscqesze #include <cstdio> #include <cmath> #include <cstring> #include <ctime> #include <iostream> #include <algorithm> #include <set> #include <vector> #include <sstream> #include <queue> #include <typeinfo> #include <fstream> #include <map> #include <stack> typedef long long ll; using namespace std; //freopen("D.in","r",stdin); //freopen("D.out","w",stdout); #define sspeed ios_base::sync_with_stdio(0);cin.tie(0) #define maxn 200001 #define mod 10007 #define eps 1e-9 int Num; char CH[20]; //const int inf=0x7fffffff; //нчоч╢С const int inf=0x3f3f3f3f; /*inline void P(int x) {Num=0;if(!x){putchar('0');puts("");return;}while(x>0)CH[++Num]=x%10,x/=10;while(Num)putchar(CH[Num--]+48);puts(""); } */ inline ll read() {ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f; } inline void P(int x) {Num=0;if(!x){putchar('0');puts("");return;}while(x>0)CH[++Num]=x%10,x/=10;while(Num)putchar(CH[Num--]+48);puts(""); } //**************************************************************************************int g[110][110]; int dp[110][110][110]; int main() {//freopen("test.txt","r",stdin);int n,m,k;while(scanf("%d%d%d",&n,&m,&k)!=EOF){memset(dp,0,sizeof(dp));memset(g,0,sizeof(g));for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)g[i][j]=read();int ans=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){for(int t=g[i][j];t<=k;t++){dp[i][j][t]=max(dp[i][j][t],max(dp[i-1][j][t],dp[i-1][j][t-g[i][j]]+g[i][j]));dp[i][j][t]=max(dp[i][j][t],max(dp[i][j-1][t],dp[i][j-1][t-g[i][j]]+g[i][j]));ans=max(ans,dp[i][j][t]);}for(int t=0;t<=k;t++){dp[i][j][t]=max(dp[i][j][t],max(dp[i-1][j][t],dp[i][j-1][t]));ans=max(ans,dp[i][j][t]);}}}printf("%d\n",ans);} }
转载于:https://www.cnblogs.com/qscqesze/p/4525069.html
hdu 5234 Happy birthday 背包 dp相关推荐
- HDU 5234 DP背包
题意:给一个n*m的矩阵,每个点是一个蛋糕的的重量,然后小明只能向右,向下走,求在不超过K千克的情况下,小明最终能吃得最大重量的蛋糕. 思路:类似背包DP: 状态转移方程:dp[i][j][k]--- ...
- HDU 1011 Starship Troopers 树形+背包dp
http://acm.hdu.edu.cn/showproblem.php?pid=1011 题意:每个节点有两个值bug和brain,当清扫该节点的所有bug时就得到brain值,只有当父节点被 ...
- hdu 5234 Happy birthday
hdu 5234 Happy birthday 题意: 今天是Gorwin的生日.所以她的妈妈要实现她的一个愿望.Gorwin说她想吃很多蛋糕.所以他妈妈带她来到了蛋糕园. 这个园子被分成了n*m个方 ...
- hdu 3339 In Action 背包+flyod
In Action Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=333 ...
- 【LibreOJ】#6395. 「THUPC2018」城市地铁规划 / City 背包DP+Prufer序
[题目]#6395. 「THUPC2018」城市地铁规划 / City [题意]给定n个点要求构造一棵树,每个点的价值是一个关于点度的k次多项式,系数均为给定的\(a_0,...a_k\),求最大价值 ...
- 背包dp的核心思想(动态规划)
背包dp 突然发现我一直没有真正理解背包,真正的背包应该是用空间换时间的一种dp方法,本质上就是n个物品选或不选,理论上有2n2^n2n种可能结果,但是背包利用的就是值域很小这一特点来重叠子结构,所以 ...
- Codeforces 864E Fire(背包DP)
背包DP,决策的时候记一下 jc[i][j]=1 表示第i个物品容量为j的时候要选,输出方案的时候倒推就好了 #include<iostream> #include<cstdlib& ...
- 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp
题目描述 给你一棵 $n$ 层的完全二叉树,每个节点可以染黑白两种颜色.对于每个叶子节点及其某个祖先节点,如果它们均为黑色则有一个贡献值,如果均为白色则有另一个贡献值.要求黑色的叶子节点数目不超过 $ ...
- 【bzoj1222】[HNOI2001]产品加工 背包dp
题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...
最新文章
- FreeMarker基础语法教程
- html点击图片换几种颜色,css实现点击给物品换颜色
- 计算机bq,BQ24721部分翻译
- 如何修改浏览器的默认滚动条样式
- 使用Nsight查找CE3的渲染bug
- 使用FileDialog查看文件内容
- linux 7 改网卡名称,CentOS7修改网卡名称
- Tomcat启动乱码及IDEA中tomcat信息乱码解决方法
- Android OpenGL ES 开发教程(24):Depth Buffer
- Django 工作流程
- nagios 飞信(fetion) 短信报警
- elastic-job 新手指南
- 台式计算机设备验收单,电脑设备验收单.doc
- 神策数据的进阶之路:从用户行为分析工具到全新的数字化营销闭环
- 两波形相位差的计算值_变压器损耗计算公式
- 废旧光盘手工小制作_废旧物手工制作:光盘小制作
- java 正数转负数函数_Java数学函数将正整数转换为负数并将负整数转换为正数?...
- 你们还不了解YUM的使用?那就看看这篇文章把~
- java的接口常用命名_Java命名和目录接口,Java Naming and Directory Interface,音标,读音,翻译,英文例句,英语词典...
- 让更多人用到自己的代码,让信仰在风中飘扬
热门文章
- mysql 64 免安装_MYSQL 免安装版(windows 7/64)
- TCP/IP网络编程之多进程服务端(二)
- 哥尼斯堡的“七桥问题”(C++)
- Windows 2003环境下IIS下ASP+ACCESS的配置方法
- 用支付宝和微信可以直接跳转拉起支付,API搭建比较方便第三方支付接口首选杉德比较靠谱,
- 【jvm我能讲两小时056】说说Parallel old收集器的特点以及使用场景?
- 每当图片传过来时进行对比_每当应用开始使用Mac的网络摄像头时如何获取通知...
- codelite14中文语言包_Windows下CodeLite支持中文的正确设置方法
- Win10+VS2019编译Jpeg源码时缺少win32.mak文件的内容
- 树莓派Raspberry Pi上手报告