HDU 3127 完全揹包

2022-05-02 21:57:08 字數 471 閱讀 1392

題目大意:乙個大矩形,要你分割成小矩形(只能水平和豎直切割),每個小矩形都有乙個價值,問如何分割能得到最大總價值。

解題思路:

完全揹包思想,列舉所有可能情況。

對於列舉每個小矩形都可以橫放豎放兩種情況。

對於每種情況都有兩種切割方式:橫向切割或者豎向切割。

1 #include 2 #include 3 #include 4 #include 5

using

namespace

std;67

const

int maxn=1024;8

intdp[maxn][maxn];910

struct

node

11f[maxn];

1415

intmain()

1634 cout << dp[x][y] <36return0;

37 }

hdu 3127 矩陣切割)

對於乙個小矩形,有兩種切割方式 上下 1 在xx上切x,在yy上切y 2 在xx上切y,在yy上切x 故有 1 在xx上切x,在yy上切y dp i j max dp i j max dp x j y dp i x j dp i j y dp i x y value 2 在xx上切y,在yy上切x ...

HDU 3127 WHUgirls 二維完全揹包

題意 給出乙個長為a,寬為b的布,再給出n個圍巾的規格 長x,寬y,價值c 問怎樣裁剪能夠得到最大的價值。第一次做的時候不會 然後放到今天做 發現還是不會 於是又 看題解了 因為相同規格的圍巾可以重複剪多次,且圍巾的長和寬相當於兩個約束,所以可以轉換為二維費用的完全揹包問題。然後就是圍巾的裁剪 第一...

HDU 3127 WHUgirls(二維揹包)

有一塊x y的布,可以裁剪成n種不同的小碎步布,剪成xi yi的碎布可以獲得wi元,問將這塊布剪成小碎布最多能獲得多少錢?只能橫著剪或者豎著剪,不能從中間摳出一塊 二維dp,dp j k 表示j k的布剪成小碎布最多能得到多少錢,j k可以由三個小長方形組成 這裡有切割方式 1 xi yi j k ...