//Accepted    1784 KB    78 ms
 //区间dp
 //dp[l1][r1][l2][r2] 表示a数列从l1到r1,b数列从l2到r2能得到的最大分值
 //
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 int dp[imax_n][imax_n][imax_n][imax_n];
 int n;
 int a[imax_n],sa[imax_n],b[imax_n],sb[imax_n];
 int max(int a,int b)
 {
     return a>b?a:b;
 }
 int dfs(int l1,int r1,int l2,int r2)
 {
     ) return dp[l1][r1][l2][r2];
     dp[l1][r1][l2][r2]=;
     ]+sb[r2]-sb[l2-]-dfs(l1+,r1,l2,r2);
     ]+sb[r2]-sb[l2-]-dfs(l1,r1-,l2,r2));
     if (l2<=r2)
     {
         dp[l1][r1][l2][r2]=max(dp[l1][r1][l2][r2],sa[r1]-sa[l1-]+sb[r2]-sb[l2-]-dfs(l1,r1,l2+,r2));
         dp[l1][r1][l2][r2]=max(dp[l1][r1][l2][r2],sa[r1]-sa[l1-]+sb[r2]-sb[l2-]-dfs(l1,r1,l2,r2-));
     }
     return dp[l1][r1][l2][r2];
 }
 int main()
 {
     int T;
     scanf("%d",&T);
     while (T--)
     {
         scanf("%d",&n);
         sa[]=;
         ;i<=n;i++)
         {
             scanf("%d",&a[i]);
             sa[i]=sa[i-]+a[i];
         }
         sb[]=;
         ;i<=n;i++)
         {
             scanf("%d",&b[i]);
             sb[i]=sb[i-]+b[i];
         }
         memset(dp,-,sizeof(dp));
         printf(,n,,n));
     }
     ;
 }

hdu4597 区间dp的更多相关文章

  1. hdu4597 Play Game 区间DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597 全国邀请赛通化赛区第8题--题目重现 思路: 区间DP的思想,想法是队友想出来的,感觉很秒,自己 ...

  2. 【BZOJ-4380】Myjnie 区间DP

    4380: [POI2015]Myjnie Time Limit: 40 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 162  Solved: ...

  3. 【POJ-1390】Blocks 区间DP

    Blocks Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5252   Accepted: 2165 Descriptio ...

  4. 区间DP LightOJ 1422 Halloween Costumes

    http://lightoj.com/volume_showproblem.php?problem=1422 做的第一道区间DP的题目,试水. 参考解题报告: http://www.cnblogs.c ...

  5. BZOJ1055: [HAOI2008]玩具取名[区间DP]

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1588  Solved: 925[Submit][Statu ...

  6. poj2955 Brackets (区间dp)

    题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度. 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2 ...

  7. HDU5900 QSC and Master(区间DP + 最小费用最大流)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5900 Description Every school has some legends, ...

  8. BZOJ 1260&UVa 4394 区间DP

    题意: 给一段字符串成段染色,问染成目标串最少次数. SOL: 区间DP... DP[i][j]表示从i染到j最小代价 转移:dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k ...

  9. 区间dp总结篇

    前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ...

随机推荐

  1. Scroller 实现的弹性回弹的LinearLayout

    由于公司业务发展,多app需求很少,被调到java后台开发接口三个月了,还要我继续做 java,最近有点想换工作,不得不重新看看基础知识了. 晚上看到了滑动的实现方式,平滑滑package com.e ...

  2. 运行最快的安卓模拟器VirtualBox安装教程

    网上有多种多样的安卓模拟器,蓝手指啊,百度的MTC等等,但是他们的运行速度,与电脑的切合度都没有VirtualBox安装Android-X86结合在一起来的快. 工具/原料 电脑一台 网络 方法/步骤 ...

  3. switch-case 执行顺序

    switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 de ...

  4. JavaScript 运行机制详解:再谈Event Loop

    原文地址:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 一年前,我写了一篇<什么是 Event Loop?>,谈了我对Eve ...

  5. excel中的单位换算函数convert()

    有时,我们在处理数据的时候,需要进行单位换算,比如“7小时24分”换算成小时,可以直接除以或乘以相应的进制来计算,但是在excel中,有一个convert()函数更加方便: 此函数属于工程函数,平时可 ...

  6. web基础之hibernate(一篇)

    hibernate的一些基本的认识 1.       hibenate是一个框架(framework) 2.       hibernate是一个orm框架 3.       orm(object r ...

  7. hdu---(5038)Grade(胡搞)

    Grade Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Sub ...

  8. hdu------2488Tornado(几何)

    Tornado Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  9. 10大html5前端框架

    Bootstrap 首先说 Bootstrap,估计你也猜到会先说或者一定会有这个( 呵呵了 ),这是说明它的强大之处,拥有框架一壁江山的势气.自己刚入道的时候本着代码任何一个字母都得自己敲出来挡我者 ...

  10. MATLAB画ROC曲线,及计算AUC值

    根据决策值和真实标签画ROC曲线,同时计算AUC的值 步骤: 根据决策值和真实标签画ROC曲线,同时计算AUC的值: 计算算法的决策函数值deci 根据决策函数值deci对真实标签y进行降序排序,得到 ...