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 }


  • 相关阅读:
    02. 爬取get请求的页面数据
    配置visual studio code进行asp.net core rc2的开发(转载jeffreywu)
    C#条件编译,发布多平台和多种选择性的项目
    控制台当前行显示进度条,不换行
    对"使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework"增加说明
    ASP.NET Core文章汇总
    jquery.tmpl 用法(附上详细案例)
    Pure扩展站--个人博客
    使用@media做自适应
    简单的计划任务实现。。。
  • 原文地址:https://www.cnblogs.com/pony1993/p/2638697.html
Copyright © 2011-2022 走看看