• hdu2602 Bone Collector (01背包)


    本文来源于:http://blog.csdn.net/svitter


    题意:典型到不能再典型的01背包。给了我一遍AC的快感。


    //============================================================================
    // Name        : 2602.cpp
    // Author      : vit
    // Version     :
    // Copyright   : Your copyright notice
    // Description : Hello World in C++, Ansi-style
    //============================================================================
    
    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    
    using namespace std;
    #define max(a, b) a > b ? a : b
    
    struct Bone{
    	int val;
    	int vol;
    };
    
    Bone b[1010];
    int dp[1010];
    
    void ace(){
    	//work point
    	int t;
    	int i, j ,k;
    
    	//num
    	int n, v;
    
    	cin >> t;
    	while(t --){
    		memset(dp, 0, sizeof(dp));
    		scanf("%d%d", &n, &v);
    		for(i = 0; i < n; i++){
    			scanf("%d", &b[i].val);
    		}
    		for(i = 0; i < n; i++){
    			scanf("%d", &b[i].vol);
    		}
    
    		for(i = 0; i < n; i++)
    			for(j = v; j >= b[i].vol; j--){
    				dp[j] = max(dp[j], dp[j - b[i].vol] + b[i].val);
    			}
    
    		printf("%d
    ", dp[v]);
    	}
    }
    int main() {
    	ace();
    	return 0;
    }
    


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    分数的表示和运算
    用户管理
    DML,DDL
    索引
    sql语句执行顺序
    伪劣
    序列
    视图
    完整性约束
    ASP.NET MVC学习笔记(二)登陆验证
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4818781.html
Copyright © 2020-2023  润新知