采药 (背包)

题目链接:http://bailian.openjudge.cn/practice/2773/

代码:

hint:01背包

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int f[1005][1500];
int w[1005];
int v[1005];
int main()
{
   int m,n;
   while(cin>>n>>m)
   {
       for(int i=1; i<=m; i++)
        cin>>w[i]>>v[i];
       for(int i=1; i<=m; i++)
       {
           for(int j=1; j<=n; j++)
           {
               if(w[i]<=j)
                  f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+v[i]);
               else
                  f[i][j]=f[i-1][j];
           }
       }
       cout<<f[m][n];
   }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 12:36:38

采药 (背包)的相关文章

采药---背包动规

题目描述: 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大." 如果你是辰辰,你能完成这个任务吗? 输入格式: 第一行有两个整数T(1 <= T <=

TYVJ 采药 0-1背包(水题)

背景 Background NOIP2005复赛普及组第三题 描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大.” 如果你是辰辰,你能完成这个任务

背包形动态规划 fjutoj2347 采药

采药 TimeLimit:1000MS  MemoryLimit:128MB 64-bit integer IO format:%lld Problem Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是

tyvj 1005 采药 0-1背包 优化的一位数组 dp 代码1

#include <iostream> #include <string.h> using namespace std; int dp[1005], w[105],v[105],T,M; int max(int x,int y) {    return x>y?x:y;   } void  f( ) {   int i,j; for (i=1; i<=M; i++) for (j=T;j>=0; j--) if (j>=w[i]) dp[j]=max(dp[

tyvj 1005 采药 0-1背包 优化的一位数组 dp 代码2

#include <iostream>#include <string.h>using namespace std;int dp[1005], w[105],v[105],T,M;int max(int x,int y){    return x>y?x:y;   }void  f( ){   int i,j;    for (i=1; i<=M; i++)        for (j=T;j>=w[i]; j--)          dp[j]=max(dp[j

tyvj 1005 采药 0-1背包 优化的一位数组 dp 代码3

#include <iostream>#include <string.h>using namespace std;int dp[1005], w,v,T,M;int max(int x,int y){    return x>y?x:y;   }void  f( ){   int i,j;    for (i=1; i<=M; i++)    {   cin>>w>>v;         //直接读进去        for (j=T;j>

采药---0-1背包型dp

题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大." 如果你是辰辰,你能完成这个任务吗? 输入描述 Input Descriptio

【日常学习】【背包DP(完全背包)】洛谷1616 疯狂的采药题解

这是一道典型的完全背包题目 先上题目···于是又要迎来洛谷那令人不知道说什么的霸气摘要··· 洛谷1616 疯狂的采药 本题地址:http://www.luogu.org/problem/show?pid=1616 题目背景 此题为NOIP2005普及组第三题的疯狂版. 此题为纪念LiYuxiang而生. 题目描述 LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞

采药(01背包改编)

这道题出自NOIP2005普及组第三题,原题为: 题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大." 如果你是辰辰,你能完成这个任

采药(01背包)

题目1123:采药 点我 题目描述: 辰辰是个很有潜能.天资聪颖的孩子,他的梦想是称为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大.”如果你是辰辰,你能完成这个任务吗? 输入: 输入的第一行有两个整数T(1 <=