zoukankan      html  css  js  c++  java
  • pku3486Computers 动态规划

    题目大意:

        给定一个时间段n,电脑的价格c,以及电脑的维修费用m(y,z)(第y台电脑从y年用到第z年总的维修费用)。让你求出在期限n中使用电脑的最低费用。

    思路:
        分解为子问题:考虑最后的解必然是某个编号为j+1的电脑(0=<j<=n-1),从第j+1年开始使用到第n年,那么前面的j年就可以当成一个字问题来考虑求最低费用。

         递推式如下:

         dp[i]=min{dp[j]+c+m[j+1][i]}(1=<i<=n,0=<j<=i-1)
      dp[n]表示n台电脑使用n年的最低费用

    代码如下:

     1#include<stdio.h>
     2int dp[1005],m[1005][1005];
     3int main()
     4{
     5    int c,n,i,j;
     6    while(scanf("%d",&c)!=EOF)
     7    {
     8        scanf("%d",&n);
     9        for(i=1;i<=n;i++)
    10            for(j=i;j<=n;j++)
    11                scanf("%d",&m[i][j]);
    12        dp[0]=0;
    13        for(i=1;i<=n;i++)
    14        {
    15            dp[i]=65535;
    16            for(j=0;j<i;j++)
    17            {
    18                if(dp[i]>dp[j]+c+m[j+1][i])
    19                    dp[i]=dp[j]+c+m[j+1][i];
    20            }

    21        }

    22        printf("%d\n",dp[n]);
    23    }

    24    return 0;
    25}



     

  • 相关阅读:
    WLC-Download 3-party CA to WLC
    WLC-生成CSR操作
    MSE-初始化MSE
    Nexus-产品认识
    Nexus-配置VDC
    Nexus-VDC(Virtual Device Context)
    Nexus-FEX基础配置
    Nexus-配置vPC 实验三
    Nexus-配置vPC 实验二
    Nexus-配置vPC 实验一
  • 原文地址:https://www.cnblogs.com/pandy/p/1338584.html
Copyright © 2011-2022 走看看