zoukankan      html  css  js  c++  java
  • 洛谷——P2871 [USACO07DEC]手链Charm Bracelet

    https://www.luogu.org/problem/show?pid=2871

    题目描述

    Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the best charms possible from the N (1 ≤ N ≤ 3,402) available charms. Each charm i in the supplied list has a weight Wi (1 ≤ Wi ≤ 400), a 'desirability' factor Di (1 ≤ Di ≤ 100), and can be used at most once. Bessie can only support a charm bracelet whose weight is no more than M (1 ≤ M ≤ 12,880).

    Given that weight limit as a constraint and a list of the charms with their weights and desirability rating, deduce the maximum possible sum of ratings.

    有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。

    输入输出格式

    输入格式:

    • Line 1: Two space-separated integers: N and M

    • Lines 2..N+1: Line i+1 describes charm i with two space-separated integers: Wi and Di

    输出格式:

    • Line 1: A single integer that is the greatest sum of charm desirabilities that can be achieved given the weight constraints

    输入输出样例

    输入样例#1:
    4 6
    1 4
    2 6
    3 12
    2 7
    输出样例#1:
    23


     1 #include <algorithm>
     2 #include <iostream>
     3 #include <cstdio>
     4 
     5 using namespace std;
     6 
     7 int n,m,w[120053],val[120053];
     8 int f[120053];
     9 
    10 int main()
    11 {
    12     scanf("%d%d",&n,&m);
    13     for(int i=1;i<=n;i++)
    14         scanf("%d%d",&w[i],&val[i]);
    15     for(int i=1;i<=n;i++)
    16         for(int V=m;V>=w[i];V--)
    17             f[V]=max(f[V],f[V-w[i]]+val[i]);
    18     printf("%d",f[m]);
    19     return 0;
    20 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    IIs和ftp
    java中HashMap重要性质和优化总结
    深入理解mysql的left join(真的很深入)
    windows bat批处理语法简析
    遍历hashMap的两种方式
    Java开发实践 集合框架 全面分析
    MySQL中日期与时间类型
    CentOS6.5下Redis安装与配置
    查看redis进程
    Web阶段:第七章:Tomcat服务器
  • 原文地址:https://www.cnblogs.com/Shy-key/p/6718316.html
Copyright © 2011-2022 走看看