http://codeforces.com/problemset/problem/429/B

可以参考这篇文章:

http://blog.csdn.net/pure_lady/article/details/46764839

因为有断点,所以可以预处理四个顶点到任意点的距离最大值,通过拼接得到断点后的距离

然后就是枚举断点的情况,发现断点不可能在边缘,就可以开始写了

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
using namespace std; #define MEM(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define debug printf("!/m")
#define L 1050
#define MAX(a,b) a>b?a:b
#define blank pf("\n") int gym[L][L];
int dp1[L][L];
int dp2[L][L];
int dp3[L][L];
int dp4[L][L]; int main()
{
int n,m,i,j;
sf("%d%d",&n,&m);
for(i = ;i<=n;i++)
{
for(j = ;j<=m;j++)
sf("%d",&gym[i][j]);
} MEM(dp1,);
MEM(dp2,);
MEM(dp3,);
MEM(dp4,); //左上
for(i = ;i<=n;i++)
{
//左上
for(j = ;j<=m;j++)
{
int tmp = MAX(dp1[i-][j],dp1[i][j-]);
dp1[i][j] = tmp+gym[i][j];
}
//右上
for(j = m;j>=;j--)
{
int tmp = MAX(dp3[i-][j],dp3[i][j+]);
dp3[i][j] = tmp+gym[i][j];
}
} for(i = n;i>=;i--)
{
//左下
for(j = ;j<=m;j++)
{
int tmp = MAX(dp2[i+][j],dp2[i][j-]);
dp2[i][j] = tmp+gym[i][j];
}
//右下
for(j = m;j>=;j--)
{
int tmp = MAX(dp4[i+][j],dp4[i][j+]);
dp4[i][j] = tmp+gym[i][j];
}
} int max=; for(i = ;i<=n-;i++)
{
for(j = ;j<=m-;j++)
{
int tmp = MAX(dp1[i][j-]+dp2[i+][j]+dp3[i-][j]+dp4[i][j+],dp1[i-][j]+dp2[i][j-]+dp3[i][j+]+dp4[i+][j]);
if(tmp>max)
max = tmp;
}
} pf("%d\n",max); return ;
}
/*
3 3
1 2 3
4 5 6
7 8 9
*/

CODEFORCES 429B 动态规划的更多相关文章

  1. Codeforces 837D 动态规划

    Codeforces 837D 动态规划 传送门:https://codeforces.com/contest/837/problem/D 题意: 给你n个数,问你从这n个数中取出k个数,这k个数的乘 ...

  2. codeforces 1183H 动态规划

    codeforces 1183H 动态规划 传送门:https://codeforces.com/contest/1183/problem/H 题意: 给你一串长度为n的字符串,你需要寻找出他的最长的 ...

  3. CodeForces 429B Working out DP

    E - Working out Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Su ...

  4. CodeForces 429B Working out 动态规划

    Description Summer is coming! It's time for Iahub and Iahubina to work out, as they both want to loo ...

  5. Codeforces 429B Working out

    http://codeforces.com/contest/429/problem/B 题意:一个从左下到右上,一个从左上到右下,要求只相交一次,求整个路径和的最大值 思路:发现可以枚举交点,然后算到 ...

  6. Educational Codeforces Round 21 Problem E(Codeforces 808E) - 动态规划 - 贪心

    After several latest reforms many tourists are planning to visit Berland, and Berland people underst ...

  7. Codeforces 429B Working out(递推DP)

    题目链接:http://codeforces.com/problemset/problem/429/B 题目大意:两个人(假设为A,B),打算健身,有N行M列个房间,每个房间能消耗Map[i][j]的 ...

  8. Codeforces 429B Working out:dp【枚举交点】

    题目链接:http://codeforces.com/problemset/problem/429/B 题意: 给你一个n*m的网格,每个格子上有一个数字a[i][j]. 一个人从左上角走到右下角,一 ...

  9. CodeForces 366C 动态规划 转化背包思想

    这道题目昨晚比赛没做出来,昨晚隐约觉得就是个动态规划,但是没想到怎么DP,今天想了一下,突然有个点子,即局部最优子结构为 1-j,j<i,遍历i,每次从所有的1到j当中的最优解里面与当前商品进行 ...

随机推荐

  1. java使用Redis4--主从复制

    redis主从复制配置和使用都非常简单.通过主从复制可以允许多个slave server拥有和master server相同的数据库副本.下面是关于redis主从复制的一些特点:       1.ma ...

  2. LINUX中软RAID的实现方案

    转自linux就该这么学 应用场景 Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性 ...

  3. django基础2

    一. 使用原生sql,了解即可 使用原生sql的目的:解决一些复杂的sql不能用ORM方式写出的问题 有三种方式如下 1. extra: 结果集修改器,一种提供额外查询参数的机制 2. raw:执行原 ...

  4. Dota2APP--第二天

    一.今天的任务 1)自定义标签栏控制器 2)自定义导航栏控制器 3)在新特性界面播放音频 1.第一个任务:自定义标签栏控制器 原因:默认的TabbarViewController不能满足项目的需求. ...

  5. Linux之E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

    解决 ubantu系统中 E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? 的 问题. 1.解决办法: 当我们有的时候在使用apt-get install/update ...

  6. POJ 2215

    //package j; import java.util.*; public class Main { public static void main(String args[]){ int r; ...

  7. Java switch函数

    switch()函数中能放置的值为:byte,short,char,int,string,enum类型或者byte,short,char,int的包装类,其中,string类型是java7(含)之后才 ...

  8. windows 虚拟机VMware 安装linux系统注意事项!!!

    1.主机CPU是否支持虚拟化技术?      启动 CPUZ 软件(如下图) 注: 32位系统查看使用CPUZ_x86软件             64位系统查看使用CPUZ_x64软件    启动后 ...

  9. MySQL的库、表详细操作

    本节目录 一.库操作 二.表操作 三.行操作 一.库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf8; 1.2 数据库命名规则 可以由字母.数字. ...

  10. OPENERP 拓展 res.partner 对象,添加QQ号

    公司最近在导入开业物品资料,根据同事的需求,需要在供应商资料中添加QQ号一项,根据前段时间自己摸索的经验,准备自己尝试通过继承完成这一需求. 模块名定义为rainsoft_partner 创建__in ...