史上最水的 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;
}

P1216 [IOI1994]数字三角形的更多相关文章

  1. 洛谷P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles (DP入门)

    考虑逆推就行了. 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n; 4 int a[1010][1010]; 5 int ...

  2. 洛谷 [P1118] IOI1994 数字三角形

    简单dfs 我们注意到,题目中的运算方式与杨辉三角极其相似,所以说本题实际上是一道加权的杨辉三角,搜索系数 #include <iostream> #include <cstdio& ...

  3. P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles

    P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles 这个题吧,之前学DP的时候就做过一次了,其实还是挺简单的,如果一步一步按照找状态定义,找边界条件,找转移 ...

  4. 【洛谷 P1216】【IOI1994】【USACO1.5】数字三角形 Number Triangles

    (如此多的标签qaq) 数字三角形 Number Triangles[传送门] 本来打算当DP练的,没想到写着写着成递推了(汗) 好的没有时间了,我们附个ac代码(改天不写): #include< ...

  5. 洛谷——P1216 [USACO1.5]数字三角形 Number Triangles

    P1216 [USACO1.5]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左 ...

  6. 洛谷p1216 IOI1994 Day1T1

    洛谷p1216 IOI1994 Day1T1 洛谷原题 题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下 ...

  7. DP----鬼畜的数字三角形

    数字三角形 1   洛谷   P1216  数字金字塔 我们可以用 f [ i ] [ j ] 表示从(1,1)出发,到达(i,j)的最大权值和. (i , j)可以由 正上(i - 1 , j)或者 ...

  8. G:数字三角形

    总时间限制: 1000ms 内存限制: 65536kB描述73   88   1   02   7   4   44   5   2   6   5 (图1) 图1给出了一个数字三角形.从三角形的顶部 ...

  9. 4829 [DP]数字三角形升级版

    4829 [DP]数字三角形升级版  时间限制: 1 s  空间限制: 16000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 从数字三角形的顶部(如图, ...

随机推荐

  1. poj1042题解

    h [1,16] hours all_v=h*12 intervals n [2,25] lakes fi inital intervals fi-di*v v [0,all_v) 题意,做每件事情的 ...

  2. H5 使用input标签上传图片给后台

    html代码: <div class="hpk-showimg"> <!-- 营业执照 --> <div class="idcardup&q ...

  3. PYthon之路Day12

    生成器 核心:生成器的本质就是一个迭代器 程序员自己写的一种迭代器 作用:节省空间 生成器可以使用for进行遍历 生成器编写方式: 基于函数编写 def func():    print('这是一个函 ...

  4. StackExchange.Redis 之 SortedSet 类型示例

    1,增加操作 RedisCacheHelper.Instance.ZSortadd(); RedisCacheHelper.Instance.ZSortadd(); RedisCacheHelper. ...

  5. 零基础自学Python是看书还是看视频?

    很多人都碍于Python培训班的高昂费用和有限的空余时间都选择自学Python,但是没有老师帮助,显得有些迷茫,不知应该从何处学起,也不知识看书学习还是应该看视频学习.本就来谈谈这个话题.   我们先 ...

  6. 录入规则文件名到CSV文件

    import os import sys import csv # 导出到csv文件 def export_to_csv(datas): with open('export.csv', 'w', ne ...

  7. rest_framework:响应器(渲染器)

    一.作用: 根据用户的请求url或者用户可接受的类型.筛选出合适的渲染组件 用户请求url: http://127.0.0.1:8000/test/?format=json http://127.0. ...

  8. centos python版本升级到3.x

    Linux(CentOS)下将Python的版本升级为3.6.2的方法 1.检查确认系统的相关信息 查看内核版本[root@zstest1 ~]# cat /etc/redhat-release Ce ...

  9. Codeforces Round #600 (Div. 2) D。 Harmonious Graph

    #include<iostream> using namespace std ; ; int p[N]; int cnt; int find(int x) { if(p[x]!=x) p[ ...

  10. Python调用libsvm

    # -*- coding: utf-8 -*- import os, sys path = r"D:\Program Files (x86)\libsvm-3.22\python" ...