日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开心的金明:顺推法

發(fā)布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开心的金明:顺推法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題意

在不超過N元(可以等于N元)的前提下,使每件物品的價格與重要度的乘積的總和最大。


分析

設(shè) f[i,j]表示前i件物品,總重量不超過j的最優(yōu)價值

則 f[i,j]=max{f[i-1,j-w[i]]+P[i]*v[i],f[i-1,j])(1<=i<=m,1<=j<=n,j>=w[i])順推

F[m,n]即為最優(yōu)解


var
n,m,i,j:longint;
w:array[1..30000]of longint;
p:array[1..25]of longint;
f:array[0..25,0..30000]of longint;
begin
? ? read(n);read(m);
? ? for i:=1 to m do
? ? readln(w[i],p[i]);
? ? fillchar(f,sizeof(f),0);
? ? for i:=1 to m do
? ? begin
? ? ? ? for j:=1 to n do
? ? ? ? begin
? ? ? ? ? ? f[i,j]:=f[i-1,j];
? ? ? ? ? ? if (w[i]<=j)and(f[i,j]<=f[i-1,j-w[i]]+p[i]*w[i]) then f[i,j]:=f[i-1,j-w[i]]+p[i]*w[i];
? ? ? ? end;
? ? end;
? ? write(f[m,n]);
end.

轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/9500176.html

總結(jié)

以上是生活随笔為你收集整理的开心的金明:顺推法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。