计算机算法设计与分析 数字三角形
3数字三角形问题::
给定一个有n行数字组成的数字三角形,如下图所示:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
设计算法,计算从三角形的顶端至底的一条路径,使该路径经过的数字总和最大。
根据题意,将数字三角形抽象为二维数组,不难发现,可以从下而上进行处理,即初始化dp数组时以最下面一行数据为基准,向上倒着找路径,其中每个点的上一步只能是正上方的点或者上面一行左边的点,根据这一点,不难发现状态转移方程:dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+num[i][j],其中dp数组表示从第i行第j列表示的点到最下方的最长距离,最后输出dp[1][1]即可。
#include<bits/stdc++.h>
using namespace std;
int n;
int num[1005][1005];
int dp[1005][1005];
int main()
{while(scanf("%d",&n)!=EOF){memset(dp,0,sizeof(dp));memset(num,0,sizeof(num));int mmax=-1;for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)scanf("%d",&num[i][j]);for(int i=1;i<=n;i++)dp[n][i]=num[n][i];for(int i=n-1;i>=1;i--){for(int j=1;j<=i;j++){dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+num[i][j];}}printf("%d\n",dp[1][1]);}return 0;
}
/*
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
*/
计算机算法设计与分析 数字三角形相关推荐
- 计算机算法设计与分析——数字三角形问题
计算机算法设计与分析(算法实现题3) 3-4 数字三角形问题 问题描述: 给定一个由n行数字组成的数字三角形.试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大. 算法设计: ...
- 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)
计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...
- 计算机算法设计与分析 动态规划 实验报告,动态规划法解最长公共子序列(计算机算法设计与分析实验报告).doc...
动态规划法解最长公共子序列(计算机算法设计与分析实验报告) 实报 告 实验名称:任课教师::姓 名:完成日期:二.主要实验内容及要求: 要求按动态规划法原理求解问题: 要求交互输入两个序列数据: 要求 ...
- 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案
<计算机算法设计与分析>习题及答案 一.选择题 1.二分搜索算法是利用( A )实现的算法. A.分治策略 B.动态规划法 C.贪心法 D.回溯法 2.下列不是动态规划算法基本步骤的是( ...
- 国科大计算机算法设计与分析陈玉福,中科院陈玉福计算机算法设计与分析期末简答题答案.pdf...
中科院陈玉福计算机算法设计与分析期末简答题答案 1. 贪心算法和动态规划算法有什么共同点和区别?它们都有那些优势和劣势? 共通点:动态规划和贪心算法都是一种递推算法 ,均有局部最优解来推导全局最优解 ...
- 计算机算法设计与分析教学大纲,《算法设计与分析》教学大纲
<<算法设计与分析>教学大纲>由会员分享,可在线阅读,更多相关<<算法设计与分析>教学大纲(3页珍藏版)>请在人人文库网上搜索. 1.课程编号:&quo ...
- 国科大刘玉贵老师计算机算法设计与分析2021年期末考试题回顾
总体感受 国科大研究生的计算机算法设计与分析课程有三位老师教授,分别是卜东波老师.陈玉福老师 和刘玉贵老师,这三位老师上课各有特色和风格.我选择的是刘玉贵老师的课程. 这门课程的内容挺充足的,但是有个 ...
- 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )
复习链接 计算机算法设计与分析第一章思维导图 计算机算法设计与分析第二章思维导图&&知识点总结 计算机算法设计与分析第三章思维导图&&知识点总结 计算机算法设计与分析第 ...
- 线性时间选择 python实现 计算机算法设计与分析
最近算法老师布置了很多作业啊,其中一项就是要求实现书上<计算机算法设计与分析>28页的算法,实现过程如下:
最新文章
- Json文件解析(上)
- Android 系统镜像: boot.img kernel.img ramdisk.img system.img userdata.img cache.img recovery.img
- 莫利定理的超直观演示!
- python函数的 全局变量与局部变量
- Python已成美国顶尖高校中最受欢迎的入门编程语言
- linux 日志 转存,如何记录linux终端下的操作日志(转)
- .NET解决[Serializable] Attribute引发的Json序列化k_BackingField
- [译] Sklearn 与 TensorFlow 机器学习实用指南
- 怎么用vc采集ni卡数据_「解决方案」三维激光扫描多数据混合作业,助力“地籍调查”...
- 计算机组成原理(白中英) 第五章 课后题答案
- VUE页面中加载外部HTML
- java文件处理(3)——实现文件复制和文件移动
- 计算机专业logo元素,计算机系logo设计大赛
- 什么是stochastic regressor
- linux下程序被Killed
- 搜索之BM25和BM25F模型
- 北京师范大学新闻与传播专硕考研一战上岸经验分享
- 2021年西式面点师(中级)复审考试及西式面点师(中级)模拟考试
- 移动端UI自动化之appium的使用(二)
- Mythtype对公式按章节自动编号和文中引用
热门文章
- linux 安装nvm ,管理多版本nodejs
- atitit.架构设计---方法调用结果使用异常还是返回值
- tftp的安装、设置以及put、get传输实验
- [转]Windows Shell 编程 第八章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987961】...
- MybatisGenerator+lombok
- C语言,产生一组数字,并将其写入txt文档中
- 牛客网NOIP赛前集训营 第6场 T1 最长路
- jvm堆内存设置原理
- 利用脚本启动java程序
- 【Go 框架开发】Zinx 框架开发笔记