丁神又去谷歌(0 1揹包) 北郵OJ417

2021-09-11 10:35:04 字數 1292 閱讀 8675

時間限制1000 ms記憶體限制65536 kb

丁神又要去google上班了,這一次丁神想多做幾道水題,並使題目的總水量最大.丁神同一時刻只能在水一道題,只有做完這道題才能得到它的水值,丁神的總時間為t,現在一共有n道題,編號從1到n,每道題有兩個值a和b,a為做這道題需要的時間,b為題目的水值。

輸入第一行為資料組數t(t≤10),接下來t組資料,每組資料中第一行為兩個數t和n,n為題目的數量,t為總時間,接下來n行,每行兩個正整數a和b。(1≤a,t≤1000,1≤n≤100,1≤b≤1000000000)

對於每組資料,輸出對應的最大總水量,每個輸出佔一行。

1

10 2

8 16

6 12

16
本題屬於動態規劃的0/1揹包問題,詳細分析參考 動態規劃-0/1揹包問題(含全部**)

/*417. 丁神又去谷歌

時間限制 1000 ms 記憶體限制 65536 kb

題目描述

丁神又要去google上班了,這一次丁神想多做幾道水題,並使題目的總水量最大.丁神同一時刻只能在水一道題,只有做完這道題才能得到它的水值,丁神的總時間為t,現在一共有n道題,編號從1到n,每道題有兩個值a和b,a為做這道題需要的時間,b為題目的水值。

輸入格式

輸入第一行為資料組數t(t≤10),接下來t組資料,每組資料中第一行為兩個數t和n,n為題目的數量,t為總時間,接下來n行,每行兩個正整數a和b。(1≤a,t≤1000,1≤n≤100,1≤b≤1000000000)

輸出格式

對於每組資料,輸出對應的最大總水量,每個輸出佔一行。

輸入樣例

110 2

8 16

6 12

輸出樣例

16project: google2

date: 2019/02/27

author: frank yu

0/1揹包 問題

*/#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define f(i,m,n) for(int i=m;i>t;

while(t--)

f(i,1,n+1)

f(j,0,t+1)

{if(j更多資料結構與演算法實現:資料結構(嚴蔚敏版)與演算法的實現(含全部**)

揹包 01揹包

01揹包 有n種物品與承重為m的揹包。每種物品只有一件,每個物品都有對應的重量weight i 與價值value i 求解如何裝包使得價值最大。dp i,v 表示前i個物體 包括第i個 面對容量為v的揹包的最大價值,c i 代表物體i的重量,w i 代表物體i的價值 如果第i個物體不放入揹包,則揹包...

揹包專題 01揹包

暑假集訓開始了,按照隊裡的分配,我是弄dp的,嘛,於是我又一次的開始了從01揹包開始學習,昨天將杭電的幾道01揹包重新做了一遍,下面講講我自己對於01揹包的理解。首先01揹包題目的雛形是 有n件物品和乙個容量為v的揹包。第i件物品的費用是c i 價值是w i 求解將哪些物品裝入揹包可使價值總和最大。...

01揹包,完全揹包

動態規劃 動態規劃的核心是狀態以及狀態轉移方程。需要定義乙個 i,j 狀態以及該狀態的指標函式d i,j 01揹包 有n種物品,每種只有乙個,第i件物品的體積為vi質量為wi。選一些物品裝到體積為c的揹包中,使其體積不超過c的前提下重量最大。namevw abcd e 子問題定義 dp i j 表示...