要处理从四个角出发的答案。最后枚举那个交点,然后讨论一下来的方向即可。

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[1010][1010],f[4][1010][1010];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
scanf("%d",&a[i][j]);
}
}
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
f[0][i][j]=max(f[0][i][j],f[0][i-1][j]+a[i][j]);
f[0][i][j]=max(f[0][i][j],f[0][i][j-1]+a[i][j]);
}
}
for(int i=n;i>=1;--i){
for(int j=1;j<=m;++j){
f[1][i][j]=max(f[1][i][j],f[1][i+1][j]+a[i][j]);
f[1][i][j]=max(f[1][i][j],f[1][i][j-1]+a[i][j]);
}
}
for(int i=n;i>=1;--i){
for(int j=m;j>=1;--j){
f[2][i][j]=max(f[2][i][j],f[2][i+1][j]+a[i][j]);
f[2][i][j]=max(f[2][i][j],f[2][i][j+1]+a[i][j]);
}
}
for(int i=1;i<=n;++i){
for(int j=m;j>=1;--j){
f[3][i][j]=max(f[3][i][j],f[3][i-1][j]+a[i][j]);
f[3][i][j]=max(f[3][i][j],f[3][i][j+1]+a[i][j]);
}
}
int ans=0;
for(int i=2;i<n;++i){
for(int j=2;j<m;++j){
ans=max(ans,f[0][i-1][j]+f[2][i+1][j]+f[1][i][j-1]+f[3][i][j+1]);
ans=max(ans,f[0][i][j-1]+f[2][i][j+1]+f[1][i+1][j]+f[3][i-1][j]);
}
}
printf("%d\n",ans);
}

【动态规划】CDOJ1651 Uestc的命运之旅的更多相关文章

  1. HDUOJ----2571(命运)(简单动态规划)

    命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  2. 【Luogu1291】百事世界杯之旅(动态规划,数学期望)

    [Luogu1291]百事世界杯之旅(动态规划,数学期望) 题面 洛谷 题解 设\(f[i]\)表示已经集齐了\(i\)个名字的期望 现在有两种方法: 先说我自己的: \[f[i]=f[i-1]+1+ ...

  3. HDU 2571 命运 动态规划

    命运 http://acm.hdu.edu.cn/showproblem.php?pid=2571 Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到, ...

  4. 2015 CCPC-C-The Battle of Chibi (UESTC 1217)(动态规划+树状数组)

    赛后当天学长就说了树状数组,结果在一个星期后赖床时才有了一点点思路…… 因为无法提交,不确定是否正确..嗯..有错希望指出,谢谢... 嗯..已经A了..提交地址http://acm.uestc.ed ...

  5. hdu2571 命运 动态规划Dp

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=2571" target="_blank">http://acm. ...

  6. 命运(HDU 2571 简单动态规划)

    命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  7. HDU2571 命运 动态规划

    好久没更新博客了. 校内练习的一道水题 HDU2571 命运. 简单DP. 穿过幽谷意味着离大魔王lemon已经无限接近了!  可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫 ...

  8. ACM学习历程—UESTC 1218 Pick The Sticks(动态规划)(2015CCPC D)

    题目链接:http://acm.uestc.edu.cn/#/problem/show/1218 题目大意就是求n根木棒能不能放进一个容器里,乍一看像01背包,但是容器的两端可以溢出容器,只要两端的木 ...

  9. 2014 UESTC暑前集训动态规划专题解题报告

    A.爱管闲事 http://www.cnblogs.com/whatbeg/p/3762733.html B.轻音乐同好会 C.温泉旅馆 http://www.cnblogs.com/whatbeg/ ...

随机推荐

  1. 9、MySQL常见的函数?

    请参考下面的博客文章: MySQL常见的函数

  2. 修改ES使用root用户运行

    默认ES不允许使用root用户运行,如果使用root会报如下图的错误: ,通常建议创建elsearch用户并使用该用户运行ES.但如果必须使用root用户时,按如下设置即可: 1.启动是使用如下命令 ...

  3. 统计Visual Studio项目的代码行数

    原文转自 https://blog.csdn.net/tyc129/article/details/74279806 使用Visual Studio 自带的在文件中查找功能中的正则表达式实现代码统计功 ...

  4. python基础===【字符串】所有相关操作

    #字符串的相关操作 #基本操作 #+ 字符串连接操作 str1 = '来是come走是go' str2 = '点头yes摇头no' result = str1 + str2 print(result) ...

  5. MySQL5.6.32源码安装

      . 安装好--安装MySQL需要的包 yum install -y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc- ...

  6. ajax登录请求,无法跳转

    没有用form提交数据,用的ajax提交.服务器显示已经登录成功,并且返回了成功代码OK.却无法进行跳转: js代码: $("input[type='submit']").on(& ...

  7. 外部div不能包裹内部div的问题

    转自http://www.du52.com/text.php?id=362 当设计网页时,如果内部div全部设置css属性float为左右浮动,那么外部div将不能包裹内部div 解决方法 1.在内部 ...

  8. Merge Intervals——STL的应用

    Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8, ...

  9. DuplicateHandle

    功能:将一个进程内的伪句柄,转化为可以用来进程间通信的实句柄 BOOL DuplicateHandle(  HANDLE hSourceProcessHandle,  HANDLE hSourceHa ...

  10. 【笔试题】精选30道Java笔试题解答

    转自于:精选30道Java笔试题解答 精选30道Java笔试题解答 1. 下面哪些是Thread类的方法() A. start() B. run() C. exit() D. getPriority( ...