矩形巢狀問題(DP)

2021-09-24 20:16:17 字數 911 閱讀 8606

題目來自:nyoj - 矩形巢狀

有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x(a,b)可以巢狀在矩形y(c,d)中當且僅當a輸入的時候處理一下,使座標x<=y,然後自定義乙個排序函式,以座標x排序,若座標x相等,再以y進行排序,最後轉化為求乙個最長遞增子串行的問題。

**:

#include

#include

#include

#include

using

namespace std;

using

namespace std;

struct ans

;struct ans a[

1001];

int dp[

1001];

bool

cmp(

struct ans a,

struct ans b)

bool

max(

struct ans m,

struct ans n)

intmain()

}sort

(a, a + m, cmp)

;//for (i = 0; i < m; i++)

memset

(dp,0,

sizeof

(dp));

int ans=dp[0]

=1;for

(i =

1; i < m; i++)}

ans =

max(ans, dp[i]);

}//for (i = 0; i < m; i++)

//cout << endl;

printf

("%d\n"

, ans);}

return0;

}

動態規劃 矩形巢狀問題

矩形巢狀 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a根據題意,首先可以想象的到,如果乙個矩形能鑲嵌另乙個矩形,那麼這個矩形的面積就一定比另乙個矩形的面積大了。所以,...

hpu 問題 I 矩形巢狀問題

時間限制 1 sec 記憶體限制 128 mb 有n個矩形,每個矩形可以用兩個整數a,b描述,表示它的長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a 例如 1,5 可以巢狀在 6,2 內,但不能巢狀在 3,4 內。你的任務是選出盡可能多的矩形排成一行。使得除了最後乙個之外,每個矩形都...

矩形巢狀 DP

原先沒看出來,後來發現和議題很像,都是胴體規劃,那題是給你一些點的座標,找到最多的點連成的顯示單調的 include includestruct asd ju 1010 int cmp const void a,const void b int qian int j,int i void sol i...