zoukankan      html  css  js  c++  java
  • 杭电2602_01背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602

    题目大意:n个物品, 背包容量V, 一行为每个物品的价值, 下一行为每个物品的体积, 问背包能装的最大的价值是多少?

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <cstdlib>
     6 #include <cmath>
     7 #include <set>
     8 #include <map>
     9 #include <vector>
    10 using namespace std;
    11 
    12 int max(int a, int b)
    13 {
    14     return a > b ? a : b;
    15 }
    16 int dp[1010];
    17 int main()
    18 {
    19     int t, n, V, i, j, p[1010], v[1010];
    20     scanf("%d", &t);
    21     while(t--)
    22     {
    23         scanf("%d %d", &n, &V);
    24         for(i = 1; i <= n; i++)
    25             scanf("%d", p + i);
    26         for(i = 1; i <= n; i++)
    27             scanf("%d", v + i);
    28         memset(dp, 0, sizeof(dp));
    29         for(i = 1; i <= n; i++)
    30         {
    31             for(j = V; j >= v[i]; j--)
    32             {
    33                 dp[j] = max(dp[j], dp[j - v[i]] + p[i]);
    34             }
    35         }
    36         printf("%d
    ", dp[V]);
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    cp
    usr/sbin/inetd
    mysql
    Iptables的规则语法
    CentOS系统安装过程中配置软RAID-0或RAID-1
    25道shell面试题
    虚拟机
    进入单用户模式
    正则表达式
    js操作div的显隐
  • 原文地址:https://www.cnblogs.com/luomi/p/5469075.html
Copyright © 2011-2022 走看看