P2380 狗哥采矿

题目背景

又是一节平静的语文课

狗哥闲来无事,出来了这么一道题

题目描述

一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少。最北边有bloggium的收集站,最西边有 yeyenum 的收集站。现在要你在这些格子上面安装向北或者向西的传送带(每个格子只能装一种)。问最多能采到多少矿?

输入输出格式

输入格式:

第一行包含两个整数n,m,( 1 ≤ n ≤ 500, 1 ≤ m ≤ 500)。接下来n行m列,表示每个格子中可以传送到yeyenum的数量(小于1000),再接下来n行m列,表示每个格子中可以传送到bloggium的数量。n, m 同时为0结束。

输出格式:

每组测试数据仅输出一个数,表示最多能采到的矿。

输入输出样例

输入样例#1:

4 4
0 0 10 9
1 3 10 0
4 2 1 3
1 1 20 0
10 0 0 0
1 1 1 30
0 0 5 5
5 10 10 10
0 0

输出样例#1:

98

说明

传输过程中不能转弯,只能走直路。

/*我们定义f[i][j]f[i][j]为在以(i,j)(i,j)为右下角的子矩阵中的最大采矿量,由题意我们可知,如果(i,j)(i,j)是向左转移矿,那么(i,j-1)(i,j?1),一定也是向左,(i,j-2)(i,j?2)一直到(i,1)(i,1)都是向左,同理如果(i,j)(i,j)是向上转移矿,那么(i-1,j)(i?1,j),一定也是向上,(i-2,j)(i?2,j)一直到(1,j)(1,j)都是向左。这就可以其实我们用前缀和去维护一段区间的采矿量。在转移时,我们只关心当前(i,j)(i,j)的采矿方向。设A[i][j]A[i][j]为向上的前缀和,B[i][j]B[i][j]为向左的前缀和,那么转移方程f[i][j]=max(f[i-1][j]+B[i][j],f[[i][j-1]+A[i][j])f[i][j]=max(f[i?1][j]+B[i][j],f[[i][j?1]+A[i][j]).
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define maxn 510
int n,m,a[maxn][maxn],b[maxn][maxn],f[maxn][maxn],ans;
int main(){while(1){scanf("%d%d",&n,&m);if(n==0&&m==0)return 0;memset(f,0,sizeof(f));memset(a,0,sizeof(a));memset(b,0,sizeof(b));ans=0;int x;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){scanf("%d",&x);a[i][j]=a[i][j-1]+x;}for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){scanf("%d",&x);b[i][j]=b[i-1][j]+x;}for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){f[i][j]=max(f[i-1][j]+a[i][j],f[i][j-1]+b[i][j]);ans=max(f[i][j],ans);}printf("%d\n",ans);}
}

转载于:https://www.cnblogs.com/thmyl/p/7608120.html

洛谷P2380 狗哥采矿相关推荐

  1. 洛谷P2380 狗哥采矿【DP】【绿】

    Date:2022.03.25 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少.最北边有bloggium的收集站,最西边有 ye ...

  2. P2380 狗哥采矿 (二维dp)

    原题链接:狗哥采矿 - 洛谷 思路:我一开始想的是,一个点往左走还是往上走与 它上面和左边的点走的方向有关系,但是感觉复杂交错.....然后看到了大佬的二维dp,其实Aij往左走,就让它左边的这一条都 ...

  3. 洛谷P4839 P哥的桶 线段树+线性基

    传送门 题意:N个操作,第K个桶放一个X,查询L到R区间的桶任意数的异或最大值. P哥时不时地会找新女朋友,并把新找的女朋友丢进某个桶里面.我们用 1 k x 来表示P哥找了一个颜值为x的女朋友,并且 ...

  4. 洛谷P4839 P哥的桶【线段树+线性基】

    题目描述 P哥现在有n个桶,他们排成了一排,这些桶可以装下任意多个女朋友.每个女朋友有一个固定的颜值 P哥时不时地会找新女朋友,并把新找的女朋友丢进某个桶里面.我们用1kx来表示P哥找了一个颜值为x的 ...

  5. Educational Codeforces Round 81 (Rated for Div. 2) F.Good Contest \ 洛谷 划艇 组合 计数dp

    cf传送门 P3643 [APIO2016]划艇 文章目录 题意: 思路: 题意: aia_iai​在[li,ri][l_i,r_i][li​,ri​]等概率随机选一个数,求aaa数组不增的概率. 思 ...

  6. 试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)

    题目要求 P1007题目链接 分析 这题干出的,真有毒... 要是有这种指挥官,也是醉了... 言归正传,这题其实是可以贪心求解的,但我们还可以更加666... 事实上,题干上面那一大篇基本在扯,关键 ...

  7. 洛谷 P1919 【模板】A*B Problem升级版 【快速傅里叶变换 FFT】

    [洛谷 P1919] [模板]A*B Problem升级版 题目大意 给你两个超大整数 a,ba,ba,b,问 a∗ba*ba∗b 其中 a,b≤101000000a,b\leq10^{1000000 ...

  8. 【蓝桥杯专题】 贪心(C++ | 洛谷 | acwing | 蓝桥)

    菜狗现在才开始备战蓝桥杯QAQ 文章目录 [蓝桥杯专题] (C++ | 洛谷 | acwing | 蓝桥) 1055. 股票买卖 II AcWing 104. 货仓选址 传递糖果 AcWing 112 ...

  9. 信息学奥赛一本通 1927:【04NOIP普及组】花生采摘 | OpenJudge NOI 1.13 38:花生采摘 | 洛谷 P1086 [NOIP2004 普及组] 花生采摘

    [题目链接] ybt 1927:[04NOIP普及组]花生采摘 OpenJudge NOI 1.13 38:花生采摘 洛谷 P1086 [NOIP2004 普及组] 花生采摘 [题目考点] 1. 模拟 ...

最新文章

  1. Spring Bean配置方式之一:Java配置
  2. C和汇编----字符串
  3. linux kill 子进程6,linux – Bash:杀死子进程中的所有进程
  4. java使用JMail通过QQ邮件服务器实现自动发送邮件
  5. Git branch 用法
  6. Linux下mysql主从同步备份master-slave详细配置
  7. [原]android解析pdf文件muPdf
  8. C语言函数大全 chm含示例
  9. 一篇文章带你登顶 MacBook高效工作环境配置
  10. 抖音内测语音直播交友 能够用声音打开社交的一扇门吗?
  11. 老牌下载站fixdown被挂马 威金蠕虫开始复苏
  12. matlab 凸多边形,matlab练习程序(多边形顶点凹凸性)
  13. HTML制作水波纹,怎样制作水波纹
  14. 【Power BI】分析仪在餐饮业中的应用
  15. 护眼灯真的可以保护眼睛吗?推荐五款达到护眼级别的灯
  16. python爬取股票行情_python爬取历史所有股票价格
  17. Android手机提示“未安装应用程序”
  18. php服务器搭建iis,PHP+IIS 服务器环境的搭建
  19. 局域网助手_WiFi换机助手下载-WiFi换机助手v1.0.3下载
  20. 看这里,你要的快速、批量PDF加水印工具!

热门文章

  1. CV08-数据预处理与数据增强
  2. 桌面应用程序 azure_如何开始使用Microsoft Azure-功能应用程序,HTTP触发器和事件队列...
  3. 桌面应用程序 azure_Azure Logic应用程序用例–黑色星期五
  4. 如何使用Redux-saga和ReactDnD测试React和Redux(哇!)
  5. Web漏洞扫描(一:利用WVS进行漏洞扫描)
  6. leetcode--两数之和--python
  7. 工作中感受到的消息中间件在分布式系统中的使用场景
  8. AlwaysVisibleControlExtender
  9. 查看mysql的编码格式
  10. Linux 如何通过命令查看一个文件的某几行(中间几行或最后几行)