《收集苹果》 动态规划入门
问题描写叙述
平面上有N*M个格子,每一个格子中放着一定数量的苹果。你从左上角的格子開始,每一步仅仅能向下走或是向右走,每次走到一个格子上就把格子里的苹果收集起来,这样下去,你最多能收集到多少个苹果。
输入:
第一行输入行数和列数
然后逐行输入每一个格子的中的苹果的数量
输出:
最多能收到的苹果的个数。
思路分析
这是一个典型的二维数组DP问题
基本状态:
当你到达第x行第y列的格子的时候,收集到的苹果的数量dp[x][y]。
转移方程:
因为你仅仅能向右走或者向下走,所以当你到达第x行第y列的格子的时候,你可能是从第x-1行第y列或者第x行第y-1列到达该格子的,而我们最后仅仅要收集苹果最多的那一种方案。
所以:
dp[x][y] = max( if(x>0) dp[x-1][y] , if(y>0) dp[x][y-1])
编写代码
show you code:
#include<iostream>
#include<string.h>
using namespace std;
int a[100][100];
int dp[100][100];
int m,n;void dp_fun(int x,int y)
{dp[x][y] = a[x][y];int max = 0;if(x > 0 && max < dp[x-1][y]){max = dp[x-1][y];}if(y > 0 && max < dp[x][y-1]){max = dp[x][y-1];}dp[x][y] += max;if(x<m-1){dp_fun(x+1,y);} if(y<n-1){dp_fun(x,y+1);}return;
} int main()
{memset(dp,0,sizeof(dp)); cin>>m>>n;for(int i=0;i<m;i++){for(int j=0;j<n;j++){cin>>a[i][j];}} dp_fun(0,0);for(int i=0;i<m;i++){for(int j=0;j<n;j++){cout<<dp[i][j]<<"\t";}cout<<endl;}return 0;
}
演示样例数据:
转载于:https://www.cnblogs.com/hrhguanli/p/3782086.html
《收集苹果》 动态规划入门相关推荐
- LQ训练营(C++)学习笔记_动态规划入门
动态规划入门 五.动态规划入门 1.动态介绍 1.1动态规划基本思路 1.2 动态规划基本概念 1.2.1 阶段 1.2.2 状态 1.2.3 决策 1.2.4 状态转移方程 1.2.5 策略 1.3 ...
- 动态规划入门之国王的金矿
最近学习算法,对动态规划不太了解,使用的时候照搬转移方程式,知其然不知其所以然,今天看到一篇动态规划的教程,解释得非常通俗,原文在这里[动态规划入门教程] (http://blog.csdn.net/ ...
- 很特别的一个动态规划入门教程
很特别的一个动态规划入门教程 今天在网上看到一个讲动态规划的文章,是以01背包为例的,这文章和书上的讲解非常不一样,令我眼前一亮,于是转载一下下--- (说明一下,本人非常痛恨教材公式定理漫天飞,实际 ...
- C++动态规划入门习题+解析
动态规划入门 ❤️
- 【LeetCode】动态规划入门(专项打卡21天合集)
[LeetCode]动态规划入门(专项打卡21天合集) 下图为证 文章目录 [LeetCode]动态规划入门(专项打卡21天合集) Day1 斐波拉契数 第 N 个泰波那契数 Day2 爬楼梯 使用最 ...
- 动态规划入门问题:猴子与香蕉
动态规划入门问题猴子与香蕉 一.猴子与香蕉 题目描述 一组研究人员正在设计一个测试猴子IQ的实验.他们把香蕉吊在屋顶上,同时给猴子提供了砖块.如果猴子够聪明,它会把砖块一个个叠起来做成一个塔,然后爬上 ...
- 动态规划入门看这篇就够了,万字长文!
今天是小浩算法 "365刷题计划" 动态规划 - 整合篇.大家应该期待已久了吧!奥利给! 01 PART 动态规划是啥 我们把要解决的一个大问题转换成若干个规模较小的同类型问题,当 ...
- 1075: 动态规划入门(中链式2:能量项链)
1075: 动态规划入门(中链式2:能量项链) 时间限制: 1 Sec 内存限制: 128 MB 题目描述 [问题描述] 能量球组成的项链.相邻两球可以合并产生新球.合并规则:如果前一颗能量珠的头标记 ...
- 动态规划入门到熟悉,看不懂来打我啊
动态规划入门到熟悉,看不懂来打我啊 兔子hebtu666 本文链接:https://blog.csdn.net/hebtu666/article/details/100585136 2.1斐波那契系列 ...
最新文章
- 36晋级12第五场:冯志刚决胜入围(节目视频)
- E1载波的数据速率是(16)Mb/s,E3载波的数据速率是(17)Mb/s。答案】B D
- java accept charset_springmvc中post请求中文乱码问题
- c# SQLServer导入大批量数据
- rabbitmq 启动报错 Failed to get nic info
- bzoj 1079 [SCOI2008]着色方案
- Distinct源码分析
- php服务器错误日志在哪里看,PHP取服务器错误日志
- Vysor_2.1.2破解,及安装包
- 年过20载,超1000万人在用,还说要被淘汰?
- 机器学习之Python分析圆周率
- 数据统计分析(SPSS)【8】
- 【NOIP2016提高A组五校联考4】ksum
- SDJZU DotA
- PCB_焊盘工艺设计规范
- HBuilder打包iOS教程
- 数据可视化查看2021全国各省份的GDP
- redis操作相关命令:停止、启动、查看
- Etcd Unable to attach or mount volumes
- 好用的磁盘管理工具:DiskCatalogMaker for Mac