zoukankan      html  css  js  c++  java
  • POJ

    题目链接:http://poj.org/problem?id=3628

    题意:

    解题思路:

    1 确定可能的最大高度sum,就是所有的cow加起来的高度

    2 根据动态规划法,求解1到最大高度sum之间的可能解

    3 找到比B(书架高度)的最低高度,可能和B一致。

    Sample Input
    
    5 16
    3
    1
    3
    5
    6
    Sample Output
    
    1

    AC代码:

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 #include<queue>
     5 #include<algorithm>
     6 #include<cmath>
     7 #include<iostream>
     8 
     9 using namespace std;
    10 typedef long long LL;
    11 
    12 #define INF 0x3f3f3f3f
    13 #define N 1200000
    14 #define MAXN 100000000
    15 #define mod 1000000007
    16 
    17 int dp[N],a[N];
    18 
    19 int main()
    20 {
    21     int n,x,sum,i,j;
    22 
    23     while(scanf("%d %d", &n,&x) != EOF)
    24     {
    25         memset(dp,0,sizeof(dp));
    26         memset(a,0,sizeof(a));
    27 
    28         sum=0;
    29         for(i=1;i<=n;i++)
    30         {
    31             scanf("%d", &a[i]);
    32             sum+=a[i];
    33         }
    34 
    35         for(i=1;i<=n;i++)
    36             for(j=sum;j>=a[i];j--)
    37             dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
    38 
    39         for(i=1;i<=sum;i++)
    40         {
    41             if(dp[i]>=x)
    42             {
    43                 printf("%d
    ", dp[i]-x);
    44                 break;
    45             }
    46         }
    47     }
    48     return 0;
    49 }
  • 相关阅读:
    JS中的constructor与prototype
    HTTP状态码
    CSS HACK 及常见问题
    js常见怪异
    js深拷贝和浅拷贝
    浏览器渲染
    google全球地址大全
    从function前面的!想到的
    2048
    js判定IE
  • 原文地址:https://www.cnblogs.com/weiyuan/p/5735830.html
Copyright © 2011-2022 走看看