题目链接

完全自己想的,做了3个小时,刚开始一点思路没有,硬想了这么长时间,想了一个思路,

又修改了一下,提交本来没抱多大希望 居然1A了,感觉好激动。。很高兴dp又有所长进。

题意: 一个row*col的矩阵,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个

格子内的数量是多少。最北边有bloggium的收集站,最西边有 yeyenum 的收集站。

现在要在这些格子上面安装向北或者向西的传送带(每个格子自能装一种)。问最多能采到多少矿。

传送带只能直着走,不可弯曲,不能交叉。

分析:做题的时候一直在想状态转移 之间的关系,后来发现应该从左上角开始看起,每一个非零值的

格子,都要有一个传送的方向,因为是从上往下,从左往右的,所以前面的已经计算过了,所以方程

为d[i][j] = max(d[i-1][j]+ye[i][j], d[i][j-1]+bl[i][j]);

ye[i][j]表示从i行0列 到 i行j列的ye值, bl类似。

样例解释:

^     ^
< < < ^
< < < ^
< < < ^
 #include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#define LL long long
using namespace std;
const int maxn = + ;
int n, m, d[maxn][maxn], ye[maxn][maxn], bl[maxn][maxn]; int main()
{
int i, j, a;
while(~scanf("%d%d", &n, &m))
{
if(n== && m==) break;
memset(d, , sizeof(d));
memset(ye, , sizeof(ye));
memset(bl, , sizeof(bl));
for(i = ; i <= n; i++)
for(j = ; j <= m; j++)
{
scanf("%d", &a);
ye[i][j] = ye[i][j-] + a;
}
for(i = ; i <= n; i++)
for(j = ; j <= m; j++)
{
scanf("%d", &a);
bl[i][j] = bl[i-][j] + a;
}
for(i = ; i <= n; i++)
for(j = ; j <= m; j++)
d[i][j] = max(d[i-][j]+ye[i][j], d[i][j-]+bl[i][j]); printf("%d\n", d[n][m]);
}
return ;
}

poj 2948 Martian Mining (dp)的更多相关文章

  1. POJ 2948 Martian Mining(DP)这是POJ第200道,居然没发现

    题目链接 两种矿石,Y和B,Y只能从从右到左,B是从下到上,每个空格只能是上下或者左右,具体看图.求左端+上端最大值. 很容易发现如果想最优,分界线一定是不下降的,分界线上面全是往上,分界线下面都是往 ...

  2. POJ 2948 Martian Mining

    Martian Mining Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 2251 Accepted: 1367 Descri ...

  3. (中等) POJ 2948 Martian Mining,DP。

    Description The NASA Space Center, Houston, is less than 200 miles from San Antonio, Texas (the site ...

  4. POJ 2948 Martian Mining(DP)

    题目链接 题意 : n×m的矩阵,每个格子中有两种矿石,第一种矿石的的收集站在最北,第二种矿石的收集站在最西,需要在格子上安装南向北的或东向西的传送带,但是每个格子中只能装一种传送带,求最多能采多少矿 ...

  5. POJ 2498 Martian Mining

    Martian Mining Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 2194   Accepted: 1326 De ...

  6. UVa 1366 - Martian Mining (dp)

    本文出自   http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 给出n*m网格中每个格子的A矿和B矿数量,A矿必须由右向左运输,B矿必须由下向上运输 ...

  7. 递推DP UVA 1366 Martian Mining

    题目传送门 /* 题意:抽象一点就是给两个矩阵,重叠的(就是两者选择其一),两种铺路:从右到左和从下到上,中途不能转弯, 到达边界后把沿途路上的权值相加求和使最大 DP:这是道递推题,首先我题目看了老 ...

  8. UVA 1366 九 Martian Mining

    Martian Mining Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Sta ...

  9. POJ.3624 Charm Bracelet(DP 01背包)

    POJ.3624 Charm Bracelet(DP 01背包) 题意分析 裸01背包 代码总览 #include <iostream> #include <cstdio> # ...

随机推荐

  1. ios关于layer的一些常用属性

    UILabel * labb = ... //set the border of labb labb.layer.borderWidth = 1; labb.layer.borderColor = [ ...

  2. BitmapSource ConvertTo Bitmap

    偶遇需要把 BitmapSource 转成 Bitmap. .. using System; using System.Drawing; using System.Drawing.Imaging; u ...

  3. html5上传文件并监听进度

    出处:   http://blog.csdn.net/small_rice_/article/details/21391625

  4. bzoj 1295: [SCOI2009]最长距离 暴力+bfs最短路

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1295 题解: 对每个点暴力跑一遍bfs,看能够到达的最远位置,这里如果有障碍物则距离为1 ...

  5. ext3grep 恢复删除

    Linux ext2/ext3 文件删除恢复工具ext3grep安装使用 2010-08-23 18:03:10|  分类: 默认分类|举报|字号 订阅     一.           安装前系统环 ...

  6. 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布

    http://blog.csdn.net/allenlinrui/article/details/19419721 1.介绍     Nginx - 高性能web server,这个不用多说了,大家都 ...

  7. hdu 3790 最短路径问题(最短路,Dijsktra)

    题目 Dijsktra基础题,只是多了一个花费,稍稍变动处理就好 #define _CRT_SECURE_NO_WARNINGS #include<string.h> #include&l ...

  8. FileOutputStream和FileInputStream

    package one.string; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFound ...

  9. kindeditor.net应用

    1.网址:http://kindeditor.net/docs/usage.html

  10. hdu1116

    http://acm.hdu.edu.cn/showproblem.php?pid=1116 #include<stdio.h> #include<math.h> #inclu ...