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 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    二进制包安装MySQL数据库
    前端0:js,css基础
    前端2:工作涉及的问题及总结
    前端1:易混肴的前端知识,常用的方法或questions,及一点想法。
    微信小程序-上传多张图片加进度,持续修正中……
    JS 函数式编程
    敏捷开发总结
    数据绑定
    收藏
    transform,translate,transition 的区别
  • 原文地址:https://www.cnblogs.com/Shy-key/p/6718316.html
Copyright © 2011-2022 走看看