poj3176
一、题意:给定一些数,成三角形排列。从上往下走,每个数只能往它相邻的两个数走,一直走到底端得到一条线路。这条线路上的数的和最大是多少
二、思路:简单的动态规划。dp[i+1][j+1]:=以第i+1行j+1列为最后一个数字所能得到的最大和。所有的初始值均设为0,那么从上往下递推,可得到以每一个数为结尾的最大和,这样只要比较最后一行所能得到的最大和是多少即可。递推式为:dp[i+1][j+1]=max(dp[i][j],dp[i][j+1])+tri[i][j];
三、代码:
#include"iostream"
#include"stdio.h"
#include"string.h"
using namespace std;
const int MAXN=;
int dp[MAXN][MAXN];
int tri[MAXN][MAXN];
int GetMaxSum(int n)
{
memset(dp,,sizeof(dp));
for(int i=;i<n;i++)
{
for(int j=;j<=i;j++)
{
dp[i+][j+]=max(dp[i][j+],dp[i][j])+tri[i][j];
}
}
int res=;
for(int j=;j<n;j++)
{
if(dp[n][j+]>res) res=dp[n][j+];
}
return res;
} int main()
{
int n;
while(scanf("%d",&n)==)
{
for(int i=;i<n;i++)
for(int j=;j<=i;j++)
scanf("%d",&tri[i][j]);
cout<<GetMaxSum(n)<<endl;
}
return ;
}
poj3176的更多相关文章
- POJ3176——Cow Bowling(动态规划)
Cow Bowling DescriptionThe cows don't use actual bowling balls when they go bowling. They each take ...
- 《挑战程序设计竞赛》2.3 动态规划-基础 POJ3176 2229 2385 3616 3280
POJ3176 Cow Bowling 题意 输入一个n层的三角形,第i层有i个数,求从第1层到第n层的所有路线中,权值之和最大的路线. 规定:第i层的某个数只能连线走到第i+1层中与它位置相邻的两个 ...
- poj-3176 Cow Bowling &&poj-1163 The Triangle && hihocoder #1037 : 数字三角形 (基础dp)
经典的数塔模型. 动态转移方程: dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+p[i][j]; #include <iostream> #include ...
- Poj3176 Cow Bowling (动态规划 数字三角形)
Description The cows don't use actual bowling balls when they go bowling. They each take a number (i ...
- POJ3176 Cow Bowling 2017-06-29 14:33 23人阅读 评论(0) 收藏
Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 19173 Accepted: 12734 Des ...
- 【动态规划】POJ-3176
一.题目 Description The cows don't use actual bowling balls when they go bowling. They each take a numb ...
- POJ3176:Cow Bowling(数字三角形问题)
地址:http://poj.org/problem?id=3176 题目解析:没什么好说的,之前上课时老师讲过.从下往上找,每一个三角形的顶点可由两个角加上顶点的值 两种方式得到 ,用dp数组保存下最 ...
- POJ-3176
Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 19864 Accepted: 13172 Des ...
- poj3176【简单DP】
其实就是简单递推对吧~ 贴一发记忆化搜索的- #include <iostream> #include <stdio.h> #include <string.h> ...
随机推荐
- python之连接oracle数据库
环境: windows,python2.7 1.下载cx_Oracle 在windows下不要使用easy_install或者pip,因为这样安装不会同步环境,并报错: distutils.error ...
- 基本滤波算法比较 (转载http://blog.sina.com.cn/s/blog_69f2aa5a01014du5.html)
最近在做关于数据采集方面的东西,这就不免涉及到了滤波的算法,在网上找到了关于几种算法的比较. 数字滤波方法有很多种,每种方法有其不同的特点和使用范围.从大的范围可分为3类. 1.克服大脉冲干扰的数字滤 ...
- 深数据 - Deep Data
暂无中文方面的信息,E文的也非常少,原文连接: A lot of great pieces have been written about the relatively recent surge in ...
- ArcGIS Engine 中对栅格数据的波段信息统计 (转)
先打开栅格文件所在的工作空间(文件),然后获取其所有的波段,访问每一个波段有时候波段中已经有直方图或统计信息,有时候没有这些信息,可以使用ComputeStatsAndHist()函数对其进行计算(数 ...
- 使用Fiddler进行IOS APP的HTTP抓包
Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求.Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. ...
- PhoneGap Android环境搭建
原文地址:http://www.cnblogs.com/shawn-xie/archive/2012/08/15/2638480.html 一.安装 在安装PhoneGap开发环境之前,需要按顺序安装 ...
- (二)RabbitMQ使用笔记
1.RabbitMQ简介 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. 官网:http://www.rabbitmq.c ...
- java 图书馆系统 练习
话不多说 娱乐 ================================================== book 类(书本的基础属性) package 图书管理系统01; /** * @ ...
- Navicat premium连不上Oracle的问题解决
1.ORA-28547: 这是因为oci.dll版本不对.Navicat本地的OCI版本与Oracle服务器服务器不符造成的. 或者 打开Navicat premium客户端:Tool->Opt ...
- MongoDB 深入学习 -- ReplSet,Sharding,Security,Aggregation,Command
萌新最近在对付MongoDB,因此每天都在翻官方文档,这里随便做点笔记 ReplSet 与 Sharding ReplSet 是副本集,也就是主从集合.可以用来做负载均衡,数据热备份.副本集的配置相对 ...