首页 > 其他分享 >01背包问题

01背包问题

时间:2022-10-17 22:44:27浏览次数:48  
标签:输出 01 int 件物品 问题 背包 vi

题面
有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。

第 i 件物品的体积是 vi,价值是 wi。

求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

输入格式
第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。

接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。

输出格式
输出一个整数,表示最大价值。

数据范围
0<N,V≤1000
0<vi,wi≤1000

输入样例
4 5
1 2
2 4
3 4
4 5
输出样例:
8

#include<iostream>
using namespace std;
const int N=1010;
int n,m;
int f[N],w[N];
int v[N];

int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        cin>>v[i]>>w[i];
    for(int i=1;i<=n;i++){
        for(int j=m;j>=v[i];j--)
            f[j]=max(f[j],f[j-v[i]]+w[i]);
    }
    cout<<f[m]<<endl;
    return 0;
}

标签:输出,01,int,件物品,问题,背包,vi
From: https://www.cnblogs.com/Nikkie-02/p/16801020.html

相关文章

  • R如何输出001,002,003等序号/编号?
    目录需求formatC函数解决需求R默认带文本的编号不是按数字来排序的,这会对数据排序造成一定影响。如paste0("sample",1:10)在列中排序不是按1-100,而是按ASCII排序。>sor......
  • pygame-01的安装与基本框架
    1.pygame安装pipinstallpygame2.基本(代码)架运行体验importpygame,sys #引用游戏与系统库pygame.init()screen=pygame.display.set_mode((600,400)) #窗体大小......
  • 1015 德才论
    宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小......
  • 1001 害死人不偿命的(3n+1)猜想(JAVA)
    卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950......
  • 20221017小米面试经历
    时间:2022/10/1715:00形式:牛客几乎一模一样:小米前端实习一面利用flex布局实现几个效果普通居中,但是注意order双栏ACB,各靠左和靠右,利用marginauto居中,ABC......
  • atcoder ARC C 01-Game (博弈, Grundy数)
    https://atcoder.jp/contests/arc151/tasks/arc151_c题意:有1*n的的网格,有一些位置填有0和1,现在A和B进行游戏,往网格上填0/1,要保证相邻两个格子不能相同。A先手,问最后谁赢......
  • 1010 一元多项式求导(JAVA)
    设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出......
  • 1008 数组元素循环右移问题(JAVA)
    一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最......
  • 1019 数字黑洞(JAVA)
    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快......
  • 1018 锤子剪刀布(JAVA)
    大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输......