链接

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

记忆化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. 12_CXF入门

    [CXF] Apache CXF = Celtix + Xfire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.Apache CXF 是一个开 ...

  2. linux命令行下命令参数前的一横(-)和两横(--)的区别

    原文转自:http://blog.csdn.net/songjinshi/article/details/6816776 在解释这些区别之前我们先了解一下有关linux的背景知识,这个需要大家先认真看 ...

  3. 九度OJ 1447 最短路 1008 最短路径问题

    题目地址:http://ac.jobdu.com/problem.php?pid=1447 题目描述: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上 ...

  4. Qt-获取主机网络信息之QNetworkAddressEntry

    QNetworkAddressEntry类存储了一个网络接口所支持的一个IP地址,同时还有与之相关的子网掩码和广播地址. 每个网络接口可以包含0个或多个IP地址,这些IP地址可以分别关联一个子网掩码和 ...

  5. head 头标签(转发)

    HTML head 头标签 paddingme | 04 Oct 2014 HTML head 头部分的标签.元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商 ...

  6. C# 实现对窗体(Form)换肤

    http://www.csharpwin.com/csharpresource/2992.shtml 一直想写一个比较完整的.容易扩展的窗体换肤的方案,由于时间问题,都没去实现这个想法.现在有朋友提出 ...

  7. [Linux]查看本机IP

    命令: ~$ ip addr showor~$ ipconfig 

  8. 安装IntelliJ IDEA热部署tomcat插件JreBel

    最近试着使用IntelliJ IDEA这款IDE,网上说它是最好用的java开发工具~但奈何国内ecilpse市场占有率实在稳固,所以国内这个工具也就少数人在使用 当然使用起来跟ecilpse还是有很 ...

  9. IE 6/7下自赋值导致 overflow 溢出

    情景是要限制一个textarea的最大输入字数(100字,  这字数限制也太少了点吧,不大气) 由于限制输入后需要允许 回退,全选等功能键,故放弃keyup, keydown组合 选用property ...

  10. jcom2在win7 X86上操作Excel

    浅谈Java中利用JCOM实现仿Excel编程   在JAVA中使用JCOM和JXL注意要点: (1)在你的lib下要有jdom-1.0.jar,jxl-2.5.5.jar,jcom-2.2.4.ja ...