洛谷P1776 寶物篩選 題解 多重揹包

2022-05-19 23:53:19 字數 578 閱讀 1696

題目大意:

這道題目是一道多重揹包的模板題。

首先告訴你 n 件物品和揹包的容量 v ,然後分別告訴你 n 件物品的價值 w 、體積 c 以及數量 m ,求解這個揹包能夠裝載的最大價值是多少?

解題思路:

直接套多重揹包的模板解決這個問題。

注意這裡的多重揹包使用了二進位制優化。

實現**如下:

#include using namespace std;

const int maxn = 100100;

int f[maxn], v, n, c, w, m;

void zero_one_pack(int c,int w)

void complete_pack(int val,int cost)

void multi_pack(int c,int w, int m)

zero_one_pack(m*c, m*w);

}}int main()

cout << f[v] << endl;

return 0;

}

洛谷 P1776 寶物篩選題解

p1776 寶物篩選 題解思路 多重揹包模板。將第i種物品分成若干件物品,其中每件物品有乙個係數,這件物品的費用和價值均是原來的費用和價值乘以這個係數。例如,如果p i 為13,就將這種物品分成係數分別為1 2 4 6 的四件物品,則這四件物品的費用為kw i 價值為kv i k是物品的數目,而w ...

P1776 寶物篩選 題解

同步 原題鏈結 簡要題意 多重揹包模板。即給定 n nn 個物品和乙個容積為 v vv 的揹包,每件物品有價值 v iv i vi 重量 w iw i wi 和個數 g ig i gi 求最大價值。n 1 05 n leq 10 5 n 105.如果你學過揹包九講演算法,這裡就顯得比板子還要板子了吧...

洛谷P1776 寶物篩選

當年在tb桌前跪著聽懂了單調佇列優化多重揹包 然後那天下午codevs上的多重揹包一直過不去 現在codevs沒了,時間過得真快,有點心酸,當年bzoj也不知道,全在codevs上做題,好多 記錄都沒了。今天突然發現這題補掉,舒服了 includeusing namespace std const ...