約翰的乾草庫存已經告罄,他打算為奶牛們採購h(1≤h≤50000)磅乾草,他知道n(1≤n≤100)個乾草公司,現在用1到n給它們編號。
第i個公司賣的幹草包重量為pi(1≤pi≤5000)磅,需要的開銷為ci(l≤ci≤5000)美元.每個乾草公司的貨源都十分充足,可以賣出無限多的幹草包。
幫助約翰找到最小的開銷來滿足需要,即採購到至少h磅乾草。
第1行輸入n和h,之後n行每行輸入乙個pi和ci.
最小的開銷.
2153
253
9
可以無限多的幹草包,所以這題是完全揹包問題。
但是它的揹包容量(開銷)並沒有限制,而是求滿足條件的情況下最小的開支。
跟普通的完全揹包差不多,只是列舉容量時從1開始,直到滿足條件 (即採購到至少h磅乾草),才跳出迴圈。
i列舉n個個甘草,j列舉開銷,f[j]表示當開銷為j時前i個乾草能買到的最大的磅數。
1<=i<=n , 1<=j , f[j]=max(f[j],f[j-c[i]]+p[i])
#include
#include
#include
#include
using
namespace std;
long
long n,a[
5000
],s,ans=
1000000
,f[550000
],v,b[
5000];
voiddp(
)if(f[j]
>=v)}}
}voidin(
)int
main()
題目289 蘋果
ctest有n個蘋果,要將它放入容量為v的揹包。給出第i個蘋果的大小和價錢,求出能放入揹包的蘋果的總價錢最大值。有多組測試資料,每組測試資料第一行為2個正整數,分別代表蘋果的個數n和揹包的容量v,n v同時為0時結束測試,此時不輸出。接下來的n行,每行2個正整數,用空格隔開,分別代表蘋果的大小c和價...
289 生命遊戲
給定乙個包含 m n 個格仔的面板,每乙個格仔都可以看成是乙個細胞。每個細胞都具有乙個初始狀態 1 即為活細胞 live 或 0 即為死細胞 dead 每個細胞與其八個相鄰位置 水平,垂直,對角線 的細胞都遵循以下四條生存定律 如果活細胞周圍八個位置的活細胞數少於兩個,則該位置活細胞死亡 如果活細胞...
289 生命遊戲
四月份每日一題打卡 4月2日 題目描述 解題思路 在這裡插入 片 public void gameoflife int board int dy int rows board.length int cols board 0 length for int i 0 i rows i 如果周圍細胞數少於兩...