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

ZOJ3689 Digging(01背包)

时间:2014-10-12 18:38:48      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   for   sp   div   log   

#include <iostream>
#include <cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
int dp[2][10001];
struct point{
    int t,s;
}ps[3001];
bool cmp(point A, point B)
{
    return A.t*B.s < B.t*A.s;//比较大小的时候千万不要  计算出数值进行比较
}
int main(){
    int n,t;
    int i,j;
    while(cin>>n>>t){
        for(i=0;i<n;i++)
        {
            cin>>ps[i].t>>ps[i].s;
        }
        sort(ps,ps+n,cmp);
        memset(dp,0,sizeof(dp));
        int ma=-1;
        for(i=1;i<=n;i++){
            for(j=ps[i-1].t;j<=t;j++){                
                dp[i%2][j]=max(dp[(i-1)%2][j],dp[(i-1)%2][j-ps[i-1].t]+ps[i-1].s*(t-(j-ps[i-1].t)));
                if(i==n) ma=max(ma,dp[i%2][j]); 
            }
        }
        /* for(int i = 0; i < n; i++)
            for(int j = t; j >= ps[i].t; j--){
                int index=0;
                dp[index][j] = max(dp[index][j], dp[index][j-ps[i].t]+(t-j+ps[i].t)*ps[i].s);
                if(i==n-1) ma=max(ma,dp[index][j]); 
            }*/
        cout<<ma<<endl;
    }
    return 0;
}

 

ZOJ3689 Digging(01背包)

标签:style   blog   color   io   os   for   sp   div   log   

原文地址:http://www.cnblogs.com/woshijishu3/p/4020628.html

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