【例2】数塔问题(IOI1994)有形如图所示的数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一起走到底层,要求找出一条路径,使路径上的值最大。【解法一】(逆推法) 【算法分析】
①贪心法往往得不到最优解:本题若采用贪心法则:13-11-12-14-13,其和为63,但存在另一条路:13-8-26-15-24
转载
2023-12-17 16:36:26
52阅读
# 数塔
数塔问题是一个经典的动态规划问题,常用于训练动态规划算法的能力。
## 问题描述
一个数塔是一个三角形状的结构,由数值组成。每个节点可以选择向左下方走或者向右下方走,一直走到最底层。求从顶层到底层的一条路径,使得路径上经过的数值之和最大。
例如下面的数塔:
```
9
12 15
10 6 8
2 18 9 5
19 7
原创
2023-08-15 12:43:03
32阅读
数塔问题 :要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?分析:站在位置9,我们可以选择沿12方向移动,也可以选择沿着15方向移动,现在我们假设“已经求的”沿12方向的最大值x和沿15方向的最大值y,那么站在9的最大值必然是:Max(x,y) + 9。因此不难得出...
原创
2021-08-04 11:12:55
251阅读
数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 52970 Accepted Submission...
转载
2018-04-03 18:51:00
124阅读
2评论
数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的...
原创
2022-02-06 11:41:52
46阅读
数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的...
原创
2021-07-14 11:14:03
128阅读
数塔问题(使用动态规划思路求解)如图所示,给...
原创
2021-07-12 14:26:48
86阅读
数塔问题(使用动态规划思路求解)如图所示,给...
原创
2021-07-19 09:18:44
286阅读
#include<iostream>
#include<algorithm>
using namespace std;
#define MAX 101
int data1[MAX][MAX];
int maxSum[MAX][MAX];
int num;
int main()
原创
2021-06-14 14:10:30
830阅读
题目大意:比较好理解思路:若从上往下考虑的话,每次有两个选
原创
2014-10-20 09:25:14
51阅读
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 22488 Accepted Submission(s): 13555 Problem D
转载
2017-05-13 20:37:00
70阅读
2评论
import java.util.*;
public class 输出n行数字塔 {
public static void main(String[] args)
{
Scanner sc =new Scanner(System.in);
System.out.println(“请输入一个数:”);
int n =sc.nextInt();
int x=1;
for(int i=1;
转载
2023-06-26 11:04:43
184阅读
http://acm.hdu.edu.cn/showproblem.php?pid=2084数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 58274 Accepted Submission(s): 34235 P...
原创
2021-08-25 14:14:08
384阅读
湖南大学信息科学与工程学院第15届生涯规划节周末夜校之C++讲座(Date:20201205,面向2020级大一新生) Description给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。Input输入时第一行一个整数n,表示该数塔的行数,其余n行表示该塔每行的数值 Output最大路径上的
转载
2023-10-27 09:15:04
78阅读
#include#include#define N 110int dp[N][N];int a[N][N];int Max(int v,int vv) {return v>vv?v:vv;}int main() { int n,i,j,k; while(scanf("%d",&n)!=E...
转载
2015-02-06 16:21:00
54阅读
数塔Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25751Accepted Submission(s): 15538Problem Descri...
转载
2015-04-15 13:49:00
45阅读
2评论