zoukankan      html  css  js  c++  java
  • HDU 4362 Dragon Ball (DP)

     

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4362

    设dp[i][j]表示第i批龙珠中取第j个需要花费的最小体力。

    dp[i][j] = min{ dp[i-1][k] + abs(pos[i-1][k]-pos[i][j]) } + cost[i][j];

    官方题解说这样会超时,但是是可以蹭过去的。。 

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 const int N=51;
     5 const int M=1001;
     6 const int inf=0x7fffffff;
     7 int pos[N][M],cost[N][M],dp[N][M];
     8 int main()
     9 {
    10     int t,n,m,i,j,k,x,min,ab;
    11     scanf("%d",&t);
    12     while(t--)
    13     {
    14         scanf("%d%d%d",&n,&m,&x);
    15         for(i=1;i<=n;i++)
    16             for(j=1;j<=m;j++)
    17                 scanf("%d",&pos[i][j]);
    18         for(i=1;i<=n;i++)
    19             for(j=1;j<=m;j++)
    20                 scanf("%d",&cost[i][j]);
    21         for(i=1;i<=m;i++)
    22         {
    23             ab=x-pos[1][i];
    24             if(ab<0)
    25                 ab=-ab;
    26             dp[1][i]=ab+cost[1][i];
    27         }
    28         for(i=2;i<=n;i++)
    29         {
    30             for(j=1;j<=m;j++)
    31             {
    32                 min=inf;
    33                 for(k=1;k<=m;k++)
    34                 {
    35                     ab=pos[i][j]-pos[i-1][k];
    36                     if(ab<0)
    37                         ab=-ab;
    38                     if(min>dp[i-1][k]+ab+cost[i][j])
    39                         min=dp[i-1][k]+ab+cost[i][j];
    40                 }
    41                 dp[i][j]=min;
    42             }
    43         }
    44         min=inf;
    45         for(i=1;i<=m;i++)
    46         {
    47             if(min>dp[n][i])
    48             min=dp[n][i];
    49         }
    50         printf("%d\n",min);
    51     }
    52     return 0;
    53 }


  • 相关阅读:
    python学习 day6 (3月7日)
    day05作业---字典
    day04 列表
    python学习 day5 (3月6日)
    python学习 day4 (3月5日)---列表
    Head First JavaScript 第九章:9 异步编码——处理事件
    Head First JavaScript 第八章:8 编写一个应用程序
    Head First JavaScript 第七章:7 类型、相等、转换等系统地讨论类型
    《深入理解C指针》第五章 指针和字符串
    Architecture of a Database System论文——第四章:关系查询处理器
  • 原文地址:https://www.cnblogs.com/pony1993/p/2638697.html
Copyright © 2011-2022 走看看