yzoj 1201数字三角形3题解
题意
如下图所示为一个数字三角形:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
请编程计算从顶至底部某处的一条路径,使该路径所经过的数字的总和最大。约定:
(1)每一步可沿直线向下或右斜线向下走;
(2)1<=三角形行数<=100;
(3)三角形中的数字为整数不超过整型,保证结果也不超过整型。
(4)要求必须经过第n/2行、第n/2列这个位置。
一道简单的dp题,我们可以发现在n/2行以后n/2列左边的数是不会被用到的,也就是说我们可以分步dp,将n/2行特判即可
#include<bits/stdc++.h>
using namespace std;
int n,x,y,a[110][110],ans=-1;
int main(){
scanf("%d",&n);
x=n/2,y=n/2;
for(int i=1;i<=n;++i){
for(int j=1;j<=i;++j){
scanf("%d",&a[i][j]);
}
}
for(int i=1;i<=n;++i){
if(i<=x){
for(int j=1;j<=i;++j){
a[i][j]=max(a[i-1][j]+a[i][j],a[i-1][j-1]+a[i][j]);
}
}
else{
if(i==x+1){
a[i][y]=a[x][y]+a[i][y];
a[i][y+1]=a[x][y]+a[i][y+1];
}
else{
for(int j=y;j<=i;++j){
a[i][j]=max(a[i-1][j]+a[i][j],a[i-1][j-1]+a[i][j]);
}
}
}
}
for(int i=y;i<=n;++i) ans=max(ans,a[n][i]);
printf("%d",ans);
return 0;
}
yzoj 1201数字三角形3题解的更多相关文章
- 4829 [DP]数字三角形升级版
4829 [DP]数字三角形升级版 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 从数字三角形的顶部(如图, ...
- codevs 1220 数字三角形
1220 数字三角形 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 如图所示的数字三角形,从顶部出发,在每 ...
- [TYVJ] P1044 数字三角形
数字三角形 背景 Background 09年 USACO 11月月赛 铜牌第一道 描述 Description 示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过 ...
- 【codevs4829】数字三角形++
题目大意:给定一个数字三角形,求从 (1,1) 到第 N 行的路径经过的权值之和加上该路径上任意一个点的权值之和的最大值. 题解:任意加一条路径上的某个值,可以看成是多了一次选择的权利,即:在每次经过 ...
- 【codevs2189】数字三角形+
题目大意:给定一个数字三角形,求从 (1,1) 走到最后一行的路径和对 100 取余数的最大值. 题解:由于最优解涉及到取余数的操作,因此按照原先的状态设计并不符合最优子结构性质,即:两个最大数相加取 ...
- tyvj 1044 数字三角形 记忆化搜索
数字三角形 Time Limit: 1 Sec Memory Limit: 162 MB 题目连接 http://www.tyvj.cn/p/1044 Description 示出了一个数字三角形. ...
- HDU 1176 免费馅饼 (类似数字三角形的题,很经典,值得仔细理解的dp思维)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) ...
- 93.数字三角形W(深搜)
2189 数字三角形W 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 数字三角形 要求走到最后mod 10 ...
- codevs——1220 数字三角形(棋盘DP)
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或 ...
随机推荐
- JAVA并发之阻塞队列浅析
背景 因为在工作中经常会用到阻塞队列,有的时候还要根据业务场景获取重写阻塞队列中的方法,所以学习一下阻塞队列的实现原理还是很有必要的.(PS:不深入了解的话,很容易使用出错,造成没有技术深度的样子) ...
- 算法与数据结构基础 - 分治法(Divide and Conquer)
分治法基础 分治法(Divide and Conquer)顾名思义,思想核心是将问题拆分为子问题,对子问题求解.最终合并结果,分治法用伪代码表示如下: function f(input x size ...
- 【POJ - 2139】Six Degrees of Cowvin Bacon (Floyd算法求最短路)
Six Degrees of Cowvin Bacon Descriptions 数学课上,WNJXYK忽然发现人缘也是可以被量化的,我们用一个人到其他所有人的平均距离来量化计算. 在这里定义人与人的 ...
- WPF中TimeSpan的坑
记一次在WPF中,在将格式为“DD.HH:mm:ss”字符串转换成TimeSpan时遇到的坑 如果字符串为:DD.HH:mm:ss,转换结果正确.例如: var currentValue = &quo ...
- 记一次解决tomcat自动关闭的bug
最近一个运行了4年的javaee web项目,经常接到客户反馈系统无法打开.登录服务器查看服务,发现是tomcat自动关闭了.基本是3到4天发生一次. 运维人员开始以为是其他服务杀死了tomcat服务 ...
- 算法与数据结构基础 - 双指针(Two Pointers)
双指针基础 双指针(Two Pointers)是面对数组.链表结构的一种处理技巧.这里“指针”是泛指,不但包括通常意义上的指针,还包括索引.迭代器等可用于遍历的游标. 同方向指针 设定两个指针.从头往 ...
- springboot自动配置源码解析
springboot版本:2.1.6.RELEASE SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfig ...
- (七)c#Winform自定义控件-进度条
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- 基于Spring Boot自建分布式基础应用
目前刚入职了一家公司,要求替换当前系统(单体应用)以满足每日十万单量和一定系统用户负载以及保证开发质量和效率.由我来设计一套基础架构和建设基础开发测试运维环境,github地址. 出于本公司开发现状及 ...
- windows下搭建syslog服务器及基本配置
一.环境 windows7 64位+ kiwi_syslog_server_9.5.0 kiwi_syslog百度云下载地址: 链接: https://pan.baidu.com/s/1EpPBNsL ...