zoukankan      html  css  js  c++  java
  • A Game USACO 3.3 (DP阵亡)

    这题我是完全不知道从何下手,何为当前最优,而且第二个人也要是最优考虑。

    题解给的dp,

    状态方程 dp[i][j]=sum[i][j]-min(dp[i+1][j],do[i][j-1]);

    sum[i][j]表示i到j总价值 dp[i][j]表示从i 到j里先选注意是先选人所能够获得的最优。

    感觉比较巧妙,值得mark下

     1 /*
     2 
     3 ID: hubiao cave
     4 
     5 PROG: game1
     6 
     7 LANG: C++
     8 
     9 */
    10 
    11 
    12 
    13 
    14 #include<iostream>
    15 
    16 #include<fstream>
    17 
    18 #include<string>
    19 
    20 using namespace std;
    21 
    22 
    23 
    24 int main()
    25 
    26 {
    27 
    28     ifstream fin("game1.in");
    29 
    30     ofstream fout("game1.out");
    31     int n;
    32     int dp[102][102],sum[102][102];
    33     
    34     fin>>n;
    35     for(int i=1;i<=n;i++)
    36     {
    37         fin>>dp[i][i];
    38         sum[i][i]=dp[i][i];
    39     }
    40 
    41     for(int i=1;i<=n;i++)
    42         for(int j=i+1;j<=n;j++)
    43         sum[i][j]=sum[i][j-1]+sum[j][j];
    44 
    45     for(int i=1;i<=n;i++)
    46         for(int j=1;j+i<=n;j++)
    47          dp[j][j+i]=sum[j][j+i]-min(dp[j+1][j+i],dp[j][j+i-1]);
    48 
    49     fout<<dp[1][n]<<" "<<sum[1][n]-dp[1][n]<<endl;
    50     return 0;
    51 
    52 
    53 }
  • 相关阅读:
    11月12号实验课
    10月29日实验
    10.15实验课作业
    Idea的使用和设置
    常用的Linux命令
    KAFKA总结
    SpringBoot+Maven+MyBaties+Mysql快速搭建一个项目
    Spring 常见面试
    Windows下安装ZK kafka Mysql dubbo redis
    MySQL常见的面试题
  • 原文地址:https://www.cnblogs.com/cavehubiao/p/3375241.html
Copyright © 2011-2022 走看看