zzuli 1875多线DP
1875: 蛤玮的财宝
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 530 Solved: 116
Description
Input
Output
Sample Input
2 2
2 1
1 2
Sample Output
#include<bits/stdc++.h>
using namespace std;
#define CIN(a) scanf("%d",&a)
#define ql(a) memset(a,0,sizeof(a))
int dp[210][105][105];
int e[105][105];
int main()
{
int t,i,j,n,m;
int x1,x2,k;
CIN(t);
while(t--){ql(e),ql(dp);
CIN(n),CIN(m);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j) CIN(e[i][j]);
for(k=1;k<n+m-2;++k)
for(x1=1;x1<=n;++x1)
for(x2=1;x2<=n;++x2){
int y1=k+2-x1,y2=k+2-x2;
if(x1==x2||y1<0||y2<0||y1>m||y2>m) continue;
dp[k][x1][x2]=max(max(dp[k-1][x1][x2],dp[k-1][x1][x2-1]),max(dp[k-1][x1-1][x2],dp[k-1][x1-1][x2-1]))+e[x1][y1]+e[x2][y2];
}
cout<<max(dp[k-1][n-1][n],dp[k-1][n][n-1])+e[n][m]+e[1][1]<<endl;
}
return 0;
}
注意处理起点如果没有初始化dp[0][x1][x2]的话最后切记加上e[1][1].
也可以选择先处理dp[0]不过不划算啦
zzuli 1875多线DP的更多相关文章
- luogu 1169 [ZJOI2007]棋盘制作 悬线dp
悬线法,虽然得不到局部最优解,但是一定能得到全局最优解的算法,十分神奇~ #include <cstdio> #include <algorithm> #define N 20 ...
- zzuli 2172 队列优化dp
2172: GJJ的日常之购物 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 9 Solved: 8 SubmitStatusWeb Board De ...
- luogu 4147 玉蟾宫 悬线DP
Code: #include<bits/stdc++.h> using namespace std; #define setIO(s) freopen(s".in",& ...
- dp--悬线dp P4147 玉蟾宫
题目背景 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地. 题目描述 这片土地被分成N*M个格子,每个格子里写着'R'或者'F ...
- displayport
去年买了一张ATI的显卡,但是很坑爹的是显卡后面没有VGA接口,除了一个HDMI,另外两个接口不认识,后来认识了DVI,用DVI连接显示器,剩下一个接口是什么一直没管,前两天电脑清灰,感兴趣了,去查了 ...
- C++ 计算直线的交点数(动态规划)
问题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1466 Problem Description 平面上有n条直线,且无三线共点,问这些直线能有多少种不同 ...
- MIPI-DSI协议
MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟.MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的 ...
- BZOJ 1057: [ZJOI2007]棋盘制作( dp + 悬线法 )
对于第一问, 简单的dp. f(i, j)表示以(i, j)为左上角的最大正方形, f(i, j) = min( f(i + 1, j), f(i, j + 1), f(i + 1, j + 1)) ...
- P1169 [ZJOI2007]棋盘制作 DP悬线法
题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8 \times 88×8大小的黑白相间的方阵,对应八八六十四卦,黑白 ...
随机推荐
- 负载均衡之-haproxy
老规矩,先介绍?复制一段? 1)HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. 2)HAProxy特别适用于那些负载特大的 ...
- Servlet过滤器和监听器配置范例
1,Servlet过滤器 <filter> <filter-name>charset</filter-name> <filter-class>org.g ...
- windows 上安装redis和windows上redis与php扩展
1.下载redis压缩包(自己选择想要的版本,1,2地址任意选一个) 下载window版本地址1:https://github.com/dmajkic/redis/downloads 下载window ...
- .axf 转化 .bin文件 的方法
按住shift 右击按键,进入在 X:\Program Files\Keil\MDK510\ARM\ARMCC\bin . 中打开命令cmd.exe ,然后进入一下操作. 编译自己的工程,并将&quo ...
- windows下如何获取系统已存在的盘符 【c++】
#include <iostream> #include "classAh.h" #include <atlstr.h> using namespace s ...
- JS 获取浏览器的宽和高
网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...
- python 写文件刷新缓存
搞爬虫的时候,结果是通过file.write(strs)写入文件的. 带来的问题是,进程如果是被杀死的时候,最后一条结果总是缺损的,因为缓存的部分还未写入文件. 解决办法是每次写入文件时,都刷新缓存, ...
- 03_Kafka集群操作
1.集群配置思路 1)每台节点上要启动一个broker进程,因此要配置每台的server.properties broker id, log.dirs, zookeeper.connect 2) 每台 ...
- 05_Flume_timestamp interceptor实践
1.目标场景 2.Flume Agent配置 # specify agent,source,sink,channel a1.sources = r1 a1.sinks = k1 a1.channels ...
- python获取文件扩展名的方法
主要介绍了python获取文件扩展名的方法,涉及Python针对文件路径的相关操作技巧 import os.path def file_extension(path): ] print file_ex ...