zoukankan      html  css  js  c++  java
  • hdu4597Play Game(记忆化)

    链接

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

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

    判断好边界条件

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<stdlib.h>
     6 using namespace std;
     7 int p1[25],p2[25],sum1[25],sum2[25];
     8 int dp[25][25][25][25];
     9 int dfs(int i1,int j1,int i2,int j2)
    10 {
    11     if(dp[i1][j1][i2][j2]!=-1)
    12     return dp[i1][j1][i2][j2];
    13     if(i1>j1&&i2>j2)
    14     return dp[i1][j1][i2][j2] = 0;
    15     int d1=0,d2=0,d3=0,d4=0;
    16     int s1 = sum1[j1]-sum1[i1-1];
    17     int s2 = sum2[j2]-sum2[i2-1];
    18     if(i1<=j1)
    19     {
    20         d1 = s2+sum1[j1-1]-sum1[i1-1]-dfs(i1,j1-1,i2,j2)+p1[j1];
    21         d2 = s2+sum1[j1]-sum1[i1]-dfs(i1+1,j1,i2,j2)+p1[i1];
    22     }
    23     if(i2<=j2)
    24     {
    25         d3 = s1+sum2[j2-1]-sum2[i2-1]-dfs(i1,j1,i2,j2-1)+p2[j2];
    26         d4 = s1+sum2[j2]-sum2[i2]-dfs(i1,j1,i2+1,j2)+p2[i2];
    27     }
    28     dp[i1][j1][i2][j2] = max(max(d1,d2),max(d3,d4));
    29     return dp[i1][j1][i2][j2];
    30 }
    31 int main()
    32 {
    33     int i,n,t;
    34     scanf("%d",&t);
    35     while(t--)
    36     {
    37         cin>>n;
    38         memset(sum1,0,sizeof(sum1));
    39         memset(sum2,0,sizeof(sum2));
    40         memset(dp,-1,sizeof(dp));
    41         for(i = 1 ; i <= n ;i++)
    42         {
    43             scanf("%d",&p1[i]);
    44             sum1[i] = sum1[i-1]+p1[i];
    45         }
    46         for(i = 1 ; i<= n ; i++)
    47         {
    48             scanf("%d",&p2[i]);
    49             sum2[i] = sum2[i-1]+p2[i];
    50         }
    51         int ans = dfs(1,n,1,n);
    52         cout<<ans<<endl;
    53     }
    54     return 0;
    55 }
    View Code
  • 相关阅读:
    C# 多线程总结 异常处理 线程取消 锁(lock)
    C# sync/async 同步/异步
    C# Parallel 多线程并发
    C# Task TaskFactory 异步线程/异步任务
    C# ThreadPool 线程池
    Nginx基础配置
    Nginx配置通用语法
    Nginx进程间的关系
    Nginx命令行控制
    Flask框架02(路由)
  • 原文地址:https://www.cnblogs.com/shangyu/p/3279906.html
Copyright © 2011-2022 走看看