nyoj 16 矩形巢狀 動態規劃

2022-05-11 10:20:29 字數 907 閱讀 2766

時間限制: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
**

經典題目

上傳者張云聰

有點坑,矩形是可以旋轉的!!我們盡量讓橫座標小,如果橫座標比縱座標大,那麼就交換值,然後就是排序,這個跟飛彈攔截系統挺像的

#include#include#includeusing namespace std;

int dp[1010];

struct node

edge[1010];

int n;

int cmp(node s1,node s2)

sort(edge,edge+n,cmp);

memset(dp,0,sizeof(dp));

dp[0]=1;//一定要初始化,因為第0個是不會作為終點的

int maxx=1;

for(int i=1;iedge[j].a&&edge[i].b>edge[j].b)

dp[i]=max(dp[i],dp[j]+1);//如果加上這乙個總個數會不會增加

}maxx=max(dp[i],maxx);//記錄最長的序列長度

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

} return 0;

}

NYOJ 16 矩形巢狀(動態規劃)

矩形巢狀 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a參考最長上公升子串行長度 狀態轉移方程dp i max dp i dp j 1 include include ...

NYOJ 16 矩形巢狀(動態規劃)

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

NYOJ 16 矩形巢狀(動態規劃)

矩形巢狀 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述有n個矩形,每個矩形可以用a,b來描述,表示長和寬。矩形x a,b 可以巢狀在矩形y c,d 中當且僅當a 輸入第一行是乙個正正數n 0 每組測試資料的第一行是乙個正正數n,表示該組測試資料中含有矩形的個數 n 1000...