luogu P1659 養豬 dp 好理解

2022-04-30 03:12:08 字數 644 閱讀 7114

你有乙個豬圈,有n頭豬,每天你最多可以殺一頭豬賣錢,獲益就是豬的體重。但是每過一天每頭豬的體重都會下降p[i](當然,如果豬體重<=0了,自然獲利為0),問k天內你的最大獲利。

輸入格式:

第一行兩個數n、k;

第二行n個數,表示豬的初始重量a[i];

第三行n個數表示p[i]。

【資料規模】

對於20%的資料,滿足1≤n≤20;

對於100%的資料,滿足1≤n≤1000,初始重量≤10^5.

輸出格式:

一行乙個數表示最大獲利。

輸入樣例#1:

2 2

10 10

1 2

輸出樣例#1:

19
//

01揹包問題,可以化為一維

#include#include

#include

using

namespace

std;

int n,k,d[1005

],ans;

struct

datapig[

1005

];bool

cmp(data a,data b)

intmain()

luoguP4127 數字dp 列舉

題目大意 給出兩個數a,b,求出 a,b 中各位數字之和能整除原數的數的個數。題解 各位數字之和最大為9 18 162,因此我們可以列舉數字之和。定義狀態為dp pos sum1 sum2 表示列舉到pos位,前面數字的和sum1,以及前面數字的組成的數對mod取餘的結果。最後判斷一下sum1是否等...

Luogu P1156 垃圾陷阱 DP

f i j 表示在第i個垃圾,高度為j的最大生命值 轉移分三部分 如果j 當前垃圾的高度,且兩個垃圾間的時間小於等於上乙個狀態f i 1 j a i v 的生命值,則可以墊高度 如果j 當前垃圾的高度,且兩個垃圾間的時間小於等於上乙個狀態f i 1 j 的生命值,則可以吃 如果j 當前垃圾的高度,且...

luoguP4719 模板 動態 DP

我理解的動態dp 發現dp可以寫成矩陣的形式,因此用資料結構維護矩陣乘積。對於這道題,顯然有dp f 表示 x 的子樹中,x選 不選的最大點獨立集。f sum limits max f f f sum limits f a x 既然在樹上,就用樹剖或者lct解決,本質都是將樹拆成鏈,這裡用樹剖。設 ...