矩形巢狀(DP)

2021-09-12 05:27:31 字數 819 閱讀 1387

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度:4

描述

有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x(a,b)可以巢狀在矩形y(c,d)中當且僅當a 輸入

第一行是乙個正正數n(0輸出

每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行

樣例輸入

1

101 2

2 45 8

6 10

7 93 1

5 812 10

9 72 2

樣例輸出

5

思路:dp。乙個矩形有長也有寬,固定把小的放左邊,大的放右邊,先對一邊排序,再對另一邊排序,排序後求最長上公升子串行即可。

ac:

#include #include #include using namespace std;

typedef struct node;

node no[1005];

int dp[1005];

bool cmp(node a, node b)

int main()

sort(no, no + n, cmp);

int max = 1;

dp[0] = 1;

for (int i = 1; i < n; ++i)

max = max(max, dp[i]);

}printf("%d\n", max);

}return 0;

}

矩形巢狀 DP

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

NYOJ 矩形巢狀(DP)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a 輸入 第一行是乙個正正數n 0輸出 每組測試資料都輸出乙個數,表示最多符合條件的矩形數目,每組輸出佔一行 樣例輸入 1 ...

矩形巢狀問題(DP)

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