码迷,mamicode.com
首页 > 其他好文 > 详细

UVA 12563 Jin Ge Jin Qu hao DP

时间:2014-09-11 22:22:22      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:blog   io   os   for   div   sp   cti   log   on   

背包可行性  有点SB,wa了好几发

#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <deque>
#include <bitset>
#include <list>
#include <cstdlib>
#include <climits>
#include <cmath>
#include <ctime>
#include <algorithm>
#include <stack>
#include <sstream>
#include <numeric>
#include <fstream>
#include <functional>

using namespace std;

#define MP make_pair
#define PB push_back
typedef long long LL;
typedef unsigned long long ULL;
typedef vector<int> VI;
typedef pair<int,int> pii;
const int INF = INT_MAX / 3;
const double eps = 1e-8;
const LL LINF = 1e17;
const double DINF = 1e60;
const int maxn = 180 * 50 + 1000;
int f[maxn], d[maxn], n, t, sumt;

int main() {
    int T; scanf("%d",&T);
    for(int kase = 1;kase <= T;kase++) {
        memset(f,0,sizeof(f));
        memset(d,0,sizeof(d));
        scanf("%d%d",&n,&t);
        for(int i = 1;i <= n;i++) {
            int len; scanf("%d",&len);
            for(int j = maxn - 1;j >= len;j--) {
                if(d[j - len] + 1 >= d[j]) {
                    if(d[j - len] + 1 == d[j]) {
                        f[j] = max(f[j - len] + len,f[j]);
                    }
                    else f[j] = f[j - len] + len;
                    d[j] = d[j - len] + 1;
                }
            }
        }
        printf("Case %d: %d %d\n",kase, d[t - 1] + 1, f[t - 1] + 678);
    }
    return 0;
}

  

UVA 12563 Jin Ge Jin Qu hao DP

标签:blog   io   os   for   div   sp   cti   log   on   

原文地址:http://www.cnblogs.com/rolight/p/3967287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!