动态规划练习一 三角形最佳路径问题

【C++】数字三角形(动态规划/递归/递推) Description 下图中给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数。 Input 输入有多组测试数据,输入以EOF为结束,对于每一组测试数据,输入的第一行是一个整数N (1 < N <= 100),给出三角形的行数。下面的N行给出数字三角形。数字三角形上的数的范围都在0和100之间 阅读详情
描述

如下所示的由正整数数字构成的三角形:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。
注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。

输入
第一行为三角形高度100>=h>=1,同时也是最底层边的数字的数目。
从第二行开始,每行为三角形相应行的数字,中间用空格分隔。
输出
最佳路径的长度数值。
样例输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
或
1
8
样例输出

30或8

思路:

求 这个 , 最大 和 , 最上边的 那个 数 ,要选择  ,下边的 俩数的 最大值 , 然后 整体的 最大值 就等于 三角边第一个数 加 下边俩 数的 最大的那个数 , 然后 第二行的两个数 同理 , 寻找 第三行最大的 数字 。 但是 这个样子 从上至下 , 显然是 不行的 , 所以 从倒数第二行 , 依次 往上 求 , a[1][1] 就是 最大 路径和 。


#if  1                              
#include<iostream>
using namespace std;
int main()
{
	int a[105][105],n;
	cin>>n;
	for(int i=1;i<=n;i++)
	for(int j=1;j<=i;j++)
	cin>>a[i][j];
	for(int i=n-1;i>=1;i--)
	for(int j=1;j<=i;j++)
{
	if(a[i+1][j]>=a[i+1][j+1]) a[i][j]+=a[i+1][j];
	else 
	a[i][j]+=a[i+1][j+1];
}
	
	cout<<a[1][1]<<endl;
}

#endif

动态规划,递归动归方式对比分析(C/C++)(典型例题数字三角形/最大路径和求解) 小白勿喷~~(点亮你的“小红花”) 下面是我对动态规划的一些认识: 动态规划的主要解决的就是一个大问题的最优解,然后这个大问题的最优解可以转化为很多个子问题的最优解,如果无法转化,则不能通过此算法来解决。 我们在将大问题转化为小问题的时候,很容易就会想到用递归的方式解决,但数据过大,重复的递归调用会让我们的时间复杂度变得非常的大。 下面我会通过分析递归调用的方式和动归调用的方式进行解析。 我们就以数字三角形为例子来进行分析。 递归版本: #include<iostream> #include&l 阅读详情

相关推荐

动态规划练习--21(三角形最佳路径问题)

题目描述: 描述 如下所示的由正整数数字构成的三角形:  7  3 8  8 1 0  2 7 4 4  4 5 2 6 5  从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。  注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边

sdau164185的博客 610

头歌:第2关:数字三角形

有一个数字三角形,从三角形的顶部到底部有很多条不同的路径,路径上的每一步只能从一个数走到下一层上和它。请你在这个函数中补充代码,计算并输出这个数字三角形的最佳路径和,占一行。至此程序结构已经大致完成,请你补全代码,完成本关任务。数字三角形每一层的值,是从。本关任务:计算数字三角形的最佳路径和。可以得到一个和,和最大的路径称为。的结果,在之后的计算中直接使用。请找出最佳路径上的数字之和。的存放在每一层对应的数组中的。对于每条路径,把路径上面的数。通过观察代码可以得出,计算。层的每个节点的值应该选择与。

m0_63658056的博客 1664

动态规划——数学三角形

数学三角形 (1)问题描述 给定一个具有N层的数字三角形,从顶至底有多条路径,每一步可沿左斜线向下或沿右斜线向下,路径所经过的数字之和为路径得分,请求出最大路径得分。 (2)解题思路 为使三角形更方便输入,三角形每行的输入位置相同,上面的三角形输入格式为: 原三角形中左下与右下的走法,用新的三角形输入后变为每一步可沿直线向下或右斜线向下走; 递归方法求解的基本思路: D[i][j]表示数字三角形...

qq_45666654的博客 1263

动态规划 数字三角形

数字三角形,动态规划

qq_54571775的博客 527

IFIX5.8在Win10系统下的安装避坑指南

本文提供了IFIX5.8在Windows 10系统下的详细安装教程与避坑指南。针对常见的驱动缺失、UAC拦截及兼容性报错等问题,文章从安装前准备、分步安装流程到安装后配置与驱动修复,给出了系统性的解决方案,帮助工控从业者顺利完成部署。

f6g7h8i9j的博客 364

MuJoCo 相机图片怎么拿?视角调整获取物体图片及实时显示(附代码)

在Mujoco的仿真中,对于识别抓取场景来说,如何获得添加的body等物体的实时图像很重要,今天就分享下如何添加相机视角及可视化小方块(举例)的实时图片。复制一个scene.xml为scene_withcamera.xml,在xml中添加camera和小方块如下。设置xml文件中添加的相机body id。需要创建一个离屏渲染器。

darcsdn 2128

动态规划——求数字三角形最优解和最优路径

求数字金字塔最优解和最优路径

Elenore1997的博客 4316

IsaacLab从入门到精通(二) 导入自定义机器人

IsaacLab系列第二讲,导入自定义的机器人及设置

DejaWu33的博客 8466

动态规划练习一 21:三角形最佳路径问题

描述 如下所示的由正整数数字构成的三角形:  7  3 8  8 1 0  2 7 4 4  4 5 2 6 5  从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。  注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。

G_Meteor的博客 655

基于Multisim的智能交通灯控制系统仿真与实现(含动态闪烁功能)

本文详细介绍了基于Multisim的智能交通灯控制系统仿真与实现,重点解析了动态闪烁功能的电路设计。通过555定时器、74LS192计数器和JK触发器等核心模块,实现了主干道与支干道的交替通行及黄灯1Hz闪烁功能,为交通灯控制系统设计提供了完整的仿真方案。

weixin_29174013的博客 425

esp8266步进电机驱动控制

blinker控制步进电机起保停,正反转(Arduino uno+esp8266+TB6600驱动器) Arduino uno的板子的程序 esp8266板子接入到Arduino uno的控制引脚上的5,6,7 esp8266程序 //****库***** #define BLINKER_WIFI //官方wifi协议库 #define BLINKER_PRINT Serial //串口协议库 #include <Blinker.h&gt

perseverance51博客 2855

三角形最佳路径问题的原理解析

动态规划、三角形最佳路径、最优解

SUOYUEのBLOG 1435

Coze智能体开发:工作流教程之解析文件概述

大模型本身并不具备文件读取和解析的能力,无法直接处理文件字节流。对于支持工具调用(Function calling)的模型,扣子提供插件功能来帮助大模型调用外部工具 API,拓展大模型的能力边界。扣子插件商店提供海量官方插件和第三方插件,例如链接读取插件可以将链接对应的文件内容解析为纯文本传递给大模型。

王国平的博客 1793

第九章 动态规划-1288:三角形最佳路径问题

1288:三角形最佳路径问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 2578 通过数: 2251 【题目描述】 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳...

zqhf123的博客 645

Altium Designer(AD24/25)导出DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导出DXF或DWG结构文件的方法。

fydar的博客 2323

手把手教你学Simulink实例:基于Simulink的锂电池管理系统(BMS)仿真

是确保锂电池安全、高效运行的关键组件。BMS 主要功能包括监控电池的状态(如电压、电流、温度)、估算荷电状态(State of Charge, SOC)、健康状态(State of Health, SOH),以及实现电池均衡和保护机制等。Simulink 提供了一个强大的仿真环境,可以用来设计、分析和验证锂电池管理系统的控制策略。常见的均衡方法包括被动均衡(通过电阻放电)和主动均衡(通过开关电容或变压器)。通过本教程,我们详细介绍了如何使用 Simulink 进行锂电池管理系统的仿真实例。

MHD0815的博客 538

【信息学奥赛一本通 C++题解】1288:三角形最佳路径问题

信息学奥赛一本通 基础算法 第一节 动态规划的基本模型

信奥营 1054

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

NOI 2.6 动态规划 7625:三角形最佳路径问题

题目来源:http://noi.openjudge.cn/ch0206/7625/7625:三角形最佳路径问题总时间限制: 1000ms    内存限制: 65536kB描述如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是...

da_kao_la的博客 473

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

信息学奥赛一本通 1288:三角形最佳路径问题 | OpenJudge NOI 2.6 7625:三角形最佳路径问题

ybt 1288:三角形最佳路径问题 OpenJudge NOI 2.6 7625:三角形最佳路径问题记第(i,j)位置的数字为。集合:从第一行到最后一行的路径 限制:从(1,1)到(i,j)的路径 属性:数字加和 条件:最大 统计量:数字加和 状态定义::从(1,1)到(i,j)的所有路径中,数字加和最大的路径的数字加和。集合:从(1,1)到(i,j)的所有路径 分割集合:根据到(i,j)的前一个位置分割集合 已知从(i,j)位置下一步只能到正下方(i+1,j)位置或右下方(i+1,j+1)位置。那么(i

君义NOIP的博客 1629

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

动规(14)-三角形最佳路径问题

描述如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。输入第一行为三角形高度100>=h>=1,同时也是最底层边的数字的数目。 从第二行开始,每行为三角形相应行的数字,中间用空格分隔。输出最佳路径的长度数值。样例

abraham的博客 1万+

【动态规划】1288:三角形最佳路径问题(详细代码)

【动态规划】从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。1.【题目描述】2.【代码】 1.【题目描述】 【题目描述】 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个

qq_40802813的博客 1052

1288:三角形最佳路径问题

【题目描述】 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。 ...

C_Dreamy的博客 931

【算法】【动态规划篇】第3节:数字三角形问题

本期任务:介绍算法中关于动态规划思想的几个经典问题 【算法】【动态规划篇】第1节:0-1背包问题 【算法】【动态规划篇】第2节:数字矩阵问题 【算法】【动态规划篇】第3节:数字三角形问题 [【算法】【动态规划篇】第4节:硬币找零问题] [【算法】【动态规划篇】第5节:剪绳子问题] [【算法】【动态规划篇】第6节:斐波那契数列问题] 一、问题描述 """ 有一个由非负整数组成的三角形,第一...

weixin_43868754的博客 1846

一本通 1288:三角形最佳路径问题

三角形最佳路径问题 #include <iostream> #include <cstdio> using namespace std; //Mystery_Sky //还是 数字金字塔 #define M 200 int f[M][M], a[M][M]; int ans, n; int main() { scanf("%d", &n); ...

344

数字三角形

上面给出了一个数字三角形,从三角形的顶部到底部有多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,累加和最大的路径称为“最佳路径”。题目的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层和它最近的左边的数或者右边的数。   解题思路(分治法):用递归的方法解决。基本思路是:以D( r , j )表示第r行第j个数字( r , j 都从1开...

优快云 blog of twy 1万+

7625:三角形最佳路径问题——动态规划

描述 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。 输入 第一行为三角形高度100>=h>=1,同时也是最底层边的数字的数目。 从第二行开始,每行为三角形相应行的数字,中间用空格分隔。

小白之比白更白的博客 509
上一篇: 动态规划练习一 移动路线
下一篇: 搜索 G - 农民追牛问题(bfs)
Joined
博客等级 码龄10年 19粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值