P1216 [IOI1994]数字三角形
2020-02-14 16:02:12来源:博客园 阅读 ()
P1216 [IOI1994]数字三角形
史上最水的 dp 题,没有之一(By rxz)
确实很简单,就算是我这个 dp 萌新也一眼看出来了转移方程
首先考虑状态,设 \(f_{i,j}\) 表示选择第 \(i\) 层第 \(j\) 个数时获得的最大值,那么可以发现,对于数字 \(a_{i,j}\) ,只有从 \(a_{i-1,j}\) 和 \(a_{i-1,j-1}\) 走来。
如果可以理解上面那一点,转移方程就显而易见了:\(f_{i,j}=\text{max}\{f_{i-1,j}+a_{i,j}\ ,\ f_{i-1,j-1}+a_{i,j}\}\)
所以最终代码如下:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int n,a[1001][1001],f[1001][1001];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
cin>>a[i][j];
//计算所有的f
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
f[i][j]=max(f[i-1][j]+a[i][j],f[i-1][j-1]+a[i][j]);
//在最后一行找出最大值
int ans=-233333333;
for(int i=1;i<=n;i++)
ans=max(ans,f[n][i]);
cout<<ans;
return 0;
}
原文链接:https://www.cnblogs.com/Nicest1919/p/12309366.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 括号生成 2020-04-09
- L1-007 念数字 (10分) 2020-03-22
- Qt5小Demo之猜数字游戏 2020-03-19
- 回文数字的验证 2020-03-13
- 位运算的应用 2020-02-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash