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
*/

计算机算法设计与分析 数字三角形相关推荐

  1. 计算机算法设计与分析——数字三角形问题

    计算机算法设计与分析(算法实现题3) 3-4 数字三角形问题 问题描述: 给定一个由n行数字组成的数字三角形.试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大. 算法设计: ...

  2. 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)

    计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...

  3. 计算机算法设计与分析 动态规划 实验报告,动态规划法解最长公共子序列(计算机算法设计与分析实验报告).doc...

    动态规划法解最长公共子序列(计算机算法设计与分析实验报告) 实报 告 实验名称:任课教师::姓 名:完成日期:二.主要实验内容及要求: 要求按动态规划法原理求解问题: 要求交互输入两个序列数据: 要求 ...

  4. 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案

    <计算机算法设计与分析>习题及答案 一.选择题 1.二分搜索算法是利用( A )实现的算法. A.分治策略 B.动态规划法 C.贪心法 D.回溯法 2.下列不是动态规划算法基本步骤的是( ...

  5. 国科大计算机算法设计与分析陈玉福,中科院陈玉福计算机算法设计与分析期末简答题答案.pdf...

    中科院陈玉福计算机算法设计与分析期末简答题答案 1. 贪心算法和动态规划算法有什么共同点和区别?它们都有那些优势和劣势? 共通点:动态规划和贪心算法都是一种递推算法 ,均有局部最优解来推导全局最优解 ...

  6. 计算机算法设计与分析教学大纲,《算法设计与分析》教学大纲

    <<算法设计与分析>教学大纲>由会员分享,可在线阅读,更多相关<<算法设计与分析>教学大纲(3页珍藏版)>请在人人文库网上搜索. 1.课程编号:&quo ...

  7. 国科大刘玉贵老师计算机算法设计与分析2021年期末考试题回顾

    总体感受 国科大研究生的计算机算法设计与分析课程有三位老师教授,分别是卜东波老师.陈玉福老师 和刘玉贵老师,这三位老师上课各有特色和风格.我选择的是刘玉贵老师的课程. 这门课程的内容挺充足的,但是有个 ...

  8. 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )

    复习链接 计算机算法设计与分析第一章思维导图 计算机算法设计与分析第二章思维导图&&知识点总结 计算机算法设计与分析第三章思维导图&&知识点总结 计算机算法设计与分析第 ...

  9. 线性时间选择 python实现 计算机算法设计与分析

    最近算法老师布置了很多作业啊,其中一项就是要求实现书上<计算机算法设计与分析>28页的算法,实现过程如下:

最新文章

  1. Json文件解析(上)
  2. Android 系统镜像: boot.img kernel.img ramdisk.img system.img userdata.img cache.img recovery.img
  3. 莫利定理的超直观演示!
  4. python函数的 全局变量与局部变量
  5. Python已成美国顶尖高校中最受欢迎的入门编程语言
  6. linux 日志 转存,如何记录linux终端下的操作日志(转)
  7. .NET解决[Serializable] Attribute引发的Json序列化k_BackingField
  8. [译] Sklearn 与 TensorFlow 机器学习实用指南
  9. 怎么用vc采集ni卡数据_「解决方案」三维激光扫描多数据混合作业,助力“地籍调查”...
  10. 计算机组成原理(白中英) 第五章 课后题答案
  11. VUE页面中加载外部HTML
  12. java文件处理(3)——实现文件复制和文件移动
  13. 计算机专业logo元素,计算机系logo设计大赛
  14. 什么是stochastic regressor
  15. linux下程序被Killed
  16. 搜索之BM25和BM25F模型
  17. 北京师范大学新闻与传播专硕考研一战上岸经验分享
  18. 2021年西式面点师(中级)复审考试及西式面点师(中级)模拟考试
  19. 移动端UI自动化之appium的使用(二)
  20. Mythtype对公式按章节自动编号和文中引用

热门文章

  1. linux 安装nvm ,管理多版本nodejs
  2. atitit.架构设计---方法调用结果使用异常还是返回值
  3. tftp的安装、设置以及put、get传输实验
  4. [转]Windows Shell 编程 第八章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987961】...
  5. MybatisGenerator+lombok
  6. C语言,产生一组数字,并将其写入txt文档中
  7. 牛客网NOIP赛前集训营 第6场 T1 最长路
  8. jvm堆内存设置原理
  9. 利用脚本启动java程序
  10. 【Go 框架开发】Zinx 框架开发笔记