題意:給一些指定長寬高的磚,求能累出的最大高度,不同磚有不同編號,每種編號對下面的磚做出了限制
dp注意輸出要用%i64d,否則會wa,以後不用%lld了
sample input
310 10 12 0
10 10 12 1
10 10 11 2
210 10 11 1
10 10 11 1
0sample output
2411
#include#include#include
#include
#include
#include
using
namespace
std;
intn,m,t;
const
int maxn=1005
;__int64 dp[maxn];
struct
node
a[maxn];
bool
cmp(node a,node b)
intmain()
sort(a+1,a+n+1
,cmp);
__int64 ans=0
;
for(i=1;i<=n;i++)
if(a[i].d==1&&a[i].w>=a[j].w&&a[i].l>=a[j].l&&(a[i].w>a[j].w||a[i].l>a[j].l))
if(a[i].d==2&&a[i].w>a[j].w&&a[i].l>a[j].l)
}if(dp[i]>ans) ans=dp[i];
}printf(
"%i64d\n
",ans);
}return0;
}
ACwing 2 01揹包問題(DP)
有 n 件物品和乙個容量是 v 的揹包。每件物品只能使用一次。第 i 件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n 行,每行兩個整數 ...
AcWing 2 01揹包問題 DP
題目描述 有 n 件物品和乙個容量是 v的揹包。每件物品只能使用一次。第 i件物品的體積是 vi,價值是 wi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n行,每行兩個整...
NYOJ 201 作業題 基礎dp
時間限制 3000 ms 記憶體限制 65535 kb 難度 3描述 小白同學這學期有一門課程叫做 數值計算方法 這是一門有效使用數字計算機求數學問題近似解的方法與過程,以及由相關理論構成的學科 今天他們的teacher s,給他們出了一道作業題。teacher s給了他們很多的點,讓他們利用拉格朗...