拿到dp题我们就要想如何推方程


“最北边有bloggium的收集站,最西边有 yeyenum 的收集站。现在要你在这些格子上面安装向北或者向西的传送带(每个格子只能装一种)。”

这说明了什么,对于某一个点,是不是只能通过2种方式来获取这个点的值,一个是铺北的传送带,一个是铺西的传送带。然而,如果在这个点铺了传送带的话,说明整一行都会被铺,但由于后来的可以铺不同的传送带来获取该点的值,说明如果在这个点铺的话只会影响这个点的西边的点或北边的点。

综上所述,我们对于仍以一个点,需要考虑以什么形式来铺,然而会影响前面,所以我们要考虑用前缀和来维护

则可以十分轻松的推出方程
f[i][j]=max(f[i][j-1]+a[i][j],f[i-1][j]+b[i][j]);
其中a数组时i行j列向北的前缀和数组,b数组就是向西的

AC代码

 #include <cstdio>
#include <algorithm> #define MAXN 510 using namespace std; int f[MAXN][MAXN];
int a[MAXN][MAXN];
int b[MAXN][MAXN]; int n,m;
int temp=-; int main() {   while(scanf("%d%d",&n,&m)) {   if(n==||m==) break;   for(int i=;i<=n;i++)
  for(int j=;j<=m;j++) {
    scanf("%d",&temp);
    b[i][j]=b[i][j-]+temp;
  }   for(int i=;i<=n;i++)
  for(int j=;j<=m;j++) {
    scanf("%d",&temp);
30     a[i][j]=a[i-][j]+temp;
  }   temp=-;   for(int i=;i<=n;i++) {
    for(int j=;j<=m;j++) {
      f[i][j]=max(f[i][j-]+a[i][j],f[i-][j]+b[i][j]);
      temp=max(f[i][j],temp);
    }
  }   printf("%d\n",temp);
  }
  return ;
}

luogu 题解 P2380 【狗哥采矿】的更多相关文章

  1. 洛谷P2380 狗哥采矿

    P2380 狗哥采矿 题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是 ...

  2. 洛谷 P2380 狗哥采矿

    题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少.最北边有blog ...

  3. P2380狗哥采矿(状态不易设计)

    描述:https://www.luogu.com.cn/problem/P2380 首先分析一下,易知传送带一定是要么向上,要么向右.且一定摆满了整个矩阵. 所以我们设 f [ i ] [ j ]表示 ...

  4. P2380 狗哥采矿

    #include<iostream> #include<algorithm> #include<cstring> ; using namespace std; in ...

  5. P2383 狗哥玩木棒

    题目背景 狗哥又趁着语文课干些无聊的事了... 题目描述 现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢? 输入输出格式 输入格式: 输入文件中的第一行是一个整数n表示测试 ...

  6. 洛谷——P2383 狗哥玩木棒

    P2383 狗哥玩木棒 题目背景 狗哥又趁着语文课干些无聊的事了... 题目描述 现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢? 输入输出格式 输入格式: 输入文件中的第 ...

  7. 洛谷 P2383 狗哥玩木棒

    题目背景 狗哥又趁着语文课干些无聊的事了... 题目描述 现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢? 输入输出格式 输入格式: 输入文件中的第一行是一个整数n表示测试 ...

  8. luogu题解P2312解方程--暴力模+秦九韶

    题目链接 https://www.luogu.org/problemnew/show/P2312 分析 这道题很毒啊,这么大的数. 但是如果多项式\(\sum_{i=0}^N a[i]*X^i=0\) ...

  9. luogu题解P1967货车运输--树链剖分

    题目链接 https://www.luogu.org/problemnew/show/P1967 分析 NOIp的一道裸题,直接在最大生成树上剖分取最小值一下就完事了,非常好写,常数也比较小,然而题解 ...

随机推荐

  1. 用diiv实现多个方块居中嵌套--margin

    文章地址 https://www.cnblogs.com/sandraryan/ 案例:用diiv嵌套多个正方形,配合盒模型相关知识,使每个div在他的父元素上居中.(每个div中心点对齐) 涉及到m ...

  2. java List接口

    Collection子接口: List是有序的集合,集合中每个元素都有对应的顺序序列.List集合可使用重复元素,可以通过索引来访问指定位置的集合元素(顺序索引从0开始),List集合默认按元素的添加 ...

  3. 总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景

    thinkphp作为国内现阶段最成熟的框架:没有之一: 不得不说是有好些特别方便的方法的: 然而如果初接触thinkphp的时候难免会被搞的有点迷茫: for example这些: getBy get ...

  4. linux清理函数

    每个非试验性的模块也要求有一个清理函数, 它注销接口, 在模块被去除之前返回所有资 源给系统. 这个函数定义为: static void   exit cleanup_function(void) { ...

  5. 【9307】&【a303】过河卒(NOIP2002)

    Time Limit: 10 second Memory Limit: 2 MB 问题描述 如图,A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右. 同时在棋盘上的任一点有一个对方 ...

  6. H3C IPv6地址自动配置

  7. 解决 el-autocomplete 不显示及没数据时闪一下的问题

    项目中用到了elementUI中的远程搜索即 el-autocomplete 组件,估计首次使用的都会遇到一些小问题,只要你能认真看完并且耐心理解,保证能帮到你,效果图如下: 组件代码: <el ...

  8. H3C配置文件的显示与维护

  9. dotnet 使用 MessagePack 序列化对象

    和很多序列化库一样,可以通过 MessagePack 序列化和反序列化,和 json 相比这个库提供了二进制的序列化,序列化之后的内容长度比 json 小很多 这个库能序列的内容不多,大多数时候建议使 ...

  10. gradle 打包后第三方登录不上

    使用 gradlew clean assembleReleaseChannels 生成不用的渠道包后 第三方登录不上 原因:打包未设置好APP的 .keystore