链接

通化邀请赛的题 貌似不怎么难

记忆化DP 状态方程类似于2维的 只是变成了4维  每次有四种方向去搜 取最棒的

判断好边界条件

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
int p1[],p2[],sum1[],sum2[];
int dp[][][][];
int dfs(int i1,int j1,int i2,int j2)
{
if(dp[i1][j1][i2][j2]!=-)
return dp[i1][j1][i2][j2];
if(i1>j1&&i2>j2)
return dp[i1][j1][i2][j2] = ;
int d1=,d2=,d3=,d4=;
int s1 = sum1[j1]-sum1[i1-];
int s2 = sum2[j2]-sum2[i2-];
if(i1<=j1)
{
d1 = s2+sum1[j1-]-sum1[i1-]-dfs(i1,j1-,i2,j2)+p1[j1];
d2 = s2+sum1[j1]-sum1[i1]-dfs(i1+,j1,i2,j2)+p1[i1];
}
if(i2<=j2)
{
d3 = s1+sum2[j2-]-sum2[i2-]-dfs(i1,j1,i2,j2-)+p2[j2];
d4 = s1+sum2[j2]-sum2[i2]-dfs(i1,j1,i2+,j2)+p2[i2];
}
dp[i1][j1][i2][j2] = max(max(d1,d2),max(d3,d4));
return dp[i1][j1][i2][j2];
}
int main()
{
int i,n,t;
scanf("%d",&t);
while(t--)
{
cin>>n;
memset(sum1,,sizeof(sum1));
memset(sum2,,sizeof(sum2));
memset(dp,-,sizeof(dp));
for(i = ; i <= n ;i++)
{
scanf("%d",&p1[i]);
sum1[i] = sum1[i-]+p1[i];
}
for(i = ; i<= n ; i++)
{
scanf("%d",&p2[i]);
sum2[i] = sum2[i-]+p2[i];
}
int ans = dfs(,n,,n);
cout<<ans<<endl;
}
return ;
}

hdu4597Play Game(记忆化)的更多相关文章

  1. *HDU1142 最短路+记忆化dfs

    A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  2. [ACM_动态规划] 数字三角形(数塔)_递推_记忆化搜索

    1.直接用递归函数计算状态转移方程,效率十分低下,可以考虑用递推方法,其实就是“正着推导,逆着计算” #include<iostream> #include<algorithm> ...

  3. 【BZOJ-3895】取石子 记忆化搜索 + 博弈

    3895: 取石子 Time Limit: 1 Sec  Memory Limit: 512 MBSubmit: 263  Solved: 127[Submit][Status][Discuss] D ...

  4. hdu3555 Bomb (记忆化搜索 数位DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=3555 Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  5. Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)

    题目链接:http://codeforces.com/contest/283/problem/B 思路: dp[now][flag]表示现在在位置now,flag表示是接下来要做的步骤,然后根据题意记 ...

  6. hdu 4826(dp + 记忆化搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4826 思路:dp[x][y][d]表示从方向到达点(x,y)所能得到的最大值,然后就是记忆化了. #i ...

  7. zoj 3644(dp + 记忆化搜索)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4834 思路:dp[i][j]表示当前节点在i,分数为j的路径条数,从 ...

  8. loj 1044(dp+记忆化搜索)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26764 思路:dp[pos]表示0-pos这段字符串最少分割的回文 ...

  9. DP(记忆化搜索) + AC自动机 LA 4126 Password Suspects

    题目传送门 题意:训练指南P250 分析:DFS记忆化搜索,范围或者说是图是已知的字串构成的自动机图,那么用 | (1 << i)表示包含第i个字串,如果长度为len,且st == (1 ...

随机推荐

  1. iOS 安全:UIWebView访问Https站点防止中间人攻击

    尽管Https协议能够提供数据的加密.身份的认证等安全服务,但并不是没有漏洞.HTTPS协议安全隐患的存在可能使用户受到各种极具破坏力的网络攻击.其中中间人攻击(Man In The Middle, ...

  2. 访问图像中的像素[OpenCV 笔记16]

    再更一发好久没更过的OpenCV,不过其实写到这个部分对计算机视觉算法有所了解的应该可以做到用什么查什么了,所以后面可能会更的慢一点吧,既然开了新坑,还是机器学习更有研究价值吧... 图像在内存中的存 ...

  3. Yii 验证码验证

    控制器如下

  4. Qt-获取网络接口信息的综合示例

    在前面的文章中介绍了与 获 取 本 机 网 络 信 息 相 关 的 类 常 用 的 有 4 个 , 分 别 是 : QHostAddress, QHostInfo, QNetworkInterface ...

  5. jquery改变多个css样式

    <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax ...

  6. sae-php调试代码,不输出页面

    如果单单使用sae_debug,页面就会输出SAE_DEBUG的信息,所以造成很多问题,例如回复微信服务器的xml,但是不知道就想着调试,结果... 所以怎么解决让调试信息不输出页面呢 看完手册,才知 ...

  7. LAMP虚拟主机配置以及控制目录访问

    3.基于域名的虚拟主机配置 NameVirtualHost192.168.3.32:80#apache2.2.xx版本需要开启此选项,而且要和下面的保持一致:2.4.x版本就不需要此项设置了 < ...

  8. Chrome 浏览器各版本下载大全

    随着最近64位版本的 Chrome 浏览器正式版的推出,Chrome 浏览器再次受到广大浏览迷的重点关注,今天我们就整理一下各版本的 Chrome 浏览器 32位及64位的下载地址,方便各位浏览迷选择 ...

  9. oracle expdp 无法导出SYS下特定TABLE

    创建测试表: D:\app\product\\db_1>sqlplus "/as sysdba" SQL :: Copyright (c) , , Oracle. All r ...

  10. configure: error: zlib library and headers are required

    configure: error: zlib library and headers are required (1)直接看是zlib没安装导致的,yum list |grep zlib* 看到的是全 ...