博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforce Gym 100500H ICPC Quest (简单dp)
阅读量:5273 次
发布时间:2019-06-14

本文共 955 字,大约阅读时间需要 3 分钟。

题意:给一个nXm的矩阵,上面有一些数字,从左上角出发,每次只能往右或者往下,把沿途的数字加起来,求到达右下角的最大值是多少。

题解:简单的一个dp,设f[i][j]为到达i行j列的最大值,f[i][j] = max(f[i-1][j],f[i][j-1])+a[i][j],然后用队列刷表法。

#include
#include
#include
using namespace std;typedef long long ll;//#define local#define fi first#define se secondconst int maxn = 1005;int f[maxn][maxn];int a[maxn][maxn];int main(){ int T; scanf("%d",&T); for(int k = 1; k <= T; k++) { int n,m; scanf("%d%d",&n,&m); for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ scanf("%d",a[i]+j); } } queue< pair
> q; memset(f,0x80,sizeof(f)); q.push(make_pair(0,0)); f[0][0] = a[0][0]; while(q.size()){ pair
&u = q.front(); int r = u.fi, c = u.se; if(r

 

转载于:https://www.cnblogs.com/jerryRey/p/4680900.html

你可能感兴趣的文章
[JS]递归对象或数组
查看>>
linux sed命令
查看>>
湖南多校对抗赛(2015.03.28) H SG Value
查看>>
hdu1255扫描线计算覆盖两次面积
查看>>
hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411
查看>>
程序存储问题
查看>>
优雅地书写回调——Promise
查看>>
AX 2009 Grid控件下多选行
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
Ubuntu下面安装eclipse for c++
查看>>
Windows 2003全面优化
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
整理推荐的CSS属性书写顺序
查看>>
css & input type & search icon
查看>>