zoukankan      html  css  js  c++  java
  • Hdu 1158 Employment Planning(DP)

    Problem地址:http://acm.hdu.edu.cn/showproblem.php?pid=1158

    一道dp题,或许是我对dp的理解的还不够,看了题解才做出来,要加油了。

    只能先上代码了。

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    
    using namespace std;
    
    const int MAXN = 100 + 28;
    int dp[15][MAXN];
    int workers[15];
    
    inline int Min( int a, int b )
    {
        return a<b ? a : b;
    }
    
    int main()
    {
        int N;
        int hire, salary, fire;
        int maxC;
        int i, j, k;
        int minC;
        while( scanf("%d",&N)!=EOF && N )
        {
            scanf("%d%d%d", &hire, &salary, &fire);
            maxC = -1;
            for( i=1;i<=N;i++ )
            {
                scanf("%d",&workers[i]);
                maxC = maxC<workers[i] ? workers[i] : maxC;
            }
            for( i=workers[1];i<=maxC;i++ )
                dp[1][i] = hire*i + salary*i;
            for( i=2;i<=N;i++ )
            {
                for( j=workers[i];j<=maxC;j++ )
                {
                    // 前一个月的任何人数都可以引起下一个月部分人数对应的值的改变
                    minC = 65552365;
                    for( k=workers[i-1];k<=maxC;k++ )
                    {
                        if( j>k )
                            minC = Min( minC, dp[i-1][k]+(j-k)*hire+j*salary );
                        else if( k>=j )
                            minC = Min( minC, dp[i-1][k]+(k-j)*fire+j*salary );
                    }
                    dp[i][j] = minC;
                }
            }
            minC = 65523365;
            for( i=workers[N];i<=maxC;i++ )
                minC = Min( minC, dp[N][i] );
            printf("%d
    ", minC);
        }
        return 0;
    }
    
  • 相关阅读:
    [LeetCode 题解]: Triangle
    [LeetCode 题解]: pow(x,n)
    [LeetCode 题解]: plusOne
    [LeetCode 题解]: ZigZag Conversion
    error: field 'b' has imcomplete type
    两个分数的最小公倍数
    DDR工作原理
    流水线技术原理和Verilog HDL实现
    FPGA主要应用
    提高器件工作的速度
  • 原文地址:https://www.cnblogs.com/Emerald/p/4047249.html
Copyright © 2011-2022 走看看