poj-1163 动态规划
这道题目并不能直接使用递归,因为
7(1)
7(1) 7(1)
7(1) 7(2) 7(1)
7(1) 7(3) 7(3) 7(1)
7(1) 7(4) 7(6) 7(4) 7(1)
假设题目中的数据是这样子的,小括号内代表着每个数被递归调用的次数。
这个三角实际上是一个杨辉三角,它的和为 2^n -2 ,题目中的层数大小是100以内,那最大的话就要算到 2^100 ,
这已经不是超时的问题了,汗颜。
那怎么办呢?我们只需要将每次用到的值它的最大值存起来,等着返回的时候,让上层的递归直接使用就可以了。
这样的话复杂度就是等差数列,就是n(n-1)/2,所以这次就不用等到宇宙毁灭了。
#include <iostream>
#include <algorithm>
#define MAX 101
using namespace std;
int n,D[MAX][MAX];
int maxsum[MAX][MAX];
int MaxSum(int i,int j)
{
if (maxsum[i][j]!=-1) {
return maxsum[i][j];
}
if (i==n) {
maxsum[i][j]=D[i][j];
}
else {
int x=MaxSum(i+1,j);
int y=MaxSum(i+1,j+1);
maxsum[i][j]=max(x,y)+D[i][j];
}
return maxsum[i][j];
}
int main()
{
int i,j;
cin>>n;
for (int i=1;i<=n;i++) {
for (int j=1;j<=i;j++) {
cin>>D[i][j];
maxsum[i][j]=-1;
}
}
cout<<MaxSum(1,1)<<endl;
return 0;
}
poj-1163 动态规划的更多相关文章
- poj 1163 The Triangle &poj 3176 Cow Bowling (dp)
id=1163">链接:poj 1163 题意:输入一个n层的三角形.第i层有i个数,求从第1层到第n层的全部路线中.权值之和最大的路线. 规定:第i层的某个数仅仅能连线走到第i+1层 ...
- POJ 1163 The Triangle(简单动态规划)
http://poj.org/problem?id=1163 The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissi ...
- POJ - 1163 The Triangle 【动态规划】
一.题目 The Triangle 二.分析 动态规划入门题. 状态转移方程$$DP[i][j] = A[i][j] + max(DP[i-1][j], DP[i][j])$$ 三.AC代码 1 #i ...
- POJ 1163 The Triangle【dp+杨辉三角加强版(递归)】
The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 49955 Accepted: 30177 De ...
- OpenJudge/Poj 1163 The Triangle
1.链接地址: http://bailian.openjudge.cn/practice/1163 http://poj.org/problem?id=1163 2.题目: 总时间限制: 1000ms ...
- POJ 1163 The Triangle 简单DP
看题传送门门:http://poj.org/problem?id=1163 困死了....QAQ 普通做法,从下往上,可得状态转移方程为: dp[i][j]= a[i][j] + max (dp[i+ ...
- nyoj 17-单调递增最长子序列 && poj 2533(动态规划,演算法)
17-单调递增最长子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:49 题目描述: 求一个字符串的最长递增子序列的长度 如 ...
- POJ 1163 数字三角形
Portal:http://poj.org/problem?id=1163 DP经典题,IOI94考题,在各大OJ上都有 #include<iostream> #include<al ...
- poj 3034 动态规划
思路:这是一道坑爹的动态规划,思路很容易想到,就是细节. 用dp[t][i][j],表示在第t时间,锤子停在(i,j)位置能获得的最大数量.那么只要找到一个点转移到(i,j)收益最大即可. #incl ...
- poj 2498 动态规划
思路:简单动态规划 #include<map> #include<set> #include<cmath> #include<queue> #inclu ...
随机推荐
- Luogu P1552 [APIO2012]派遣【左偏树】By cellur925
题目传送门 $Chat$ 哈哈哈我xj用dfs序乱搞竟然炸出了66分....(其实还是数据水,逃) $Sol$ 首先我们应该知道,一个人他自己的满意度与他子树所有节点的领导力是无关的,一个人的满意度受 ...
- jquery html() 和text()的用法
html()类似JS中的 innerHTML,首先看一段代码: <!DOCTYPE html> <html lang="en"> <head> ...
- nginx重写模块
参考:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html 1 语法 Syntax: if (condition) { ... } De ...
- ssh密钥分发之二:使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:
使用sshpass配合ssh-kopy-id编写脚本批量分发密钥: 首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y 接下来我们就可以使 ...
- 洛谷P2502[HAOI2006]旅行
题目: Z小镇是一个景色宜人的地方,吸引来自各地的观光客来此旅游观光.Z小镇附近共有N个景点(编号为1,2,3,-,N),这些景点被M条道路连接着,所有道路都是双向的,两个景点之间可能有多条道路.也许 ...
- 洛谷 P4585 [FJOI2015]火星商店问题
(勿看,仅作笔记) bzoj权限题... https://www.luogu.org/problemnew/show/P4585 对于特殊商品,直接可持久化trie处理一下即可 剩下的,想了一段时间c ...
- centOS 部署服务器(二)
(1)安装nginx 1.下载地址: http://nginx.org/en/download.html ,并解压到目录下 2.安装依赖包 yum -y install pcre* yum -y i ...
- Git之删除本地和远程项目
目录 删除本地项目 删除远程项目 删除本地项目: git rm -rf project 或者 rm -rf project [删除工作区项目] git add project [将删除的项目添加 ...
- laravel权限控制Gate
实现思想 注册 位置: app/Providers/AuthServiceProvider.php $permissions = \App\AdminPermission::all(); foreac ...
- Linux下搭建DHCP服务器
一.DHCP所需软件包 dhcp-common-4.1.1-34.Pl.el6.centos.x86_64 dhcp-4.1.1-34.pl.el6.centon.x86_64 二.编辑主配置文件 v ...