控制點(2D-max) (AP325 P-4-14)
1.0s 256M平面上有 \(N\) 個點,第 \(i\) 點的座標為 \((x[i], y[i])\)。若 \(x[i] \le x[j]\) 且 \(y[i] \le y[j]\),則我們說第 \(j\) 點可以控制第 \(i\) 點。我們希望能在輸入的點中,選取最少的點做為控制點,使得每一個輸入的點都至少被一個控制點所控制。輸入 \(N\) 個點的座標,請計算出最少要選取多少個控制點。以下圖為例,輸入 \(8\) 個點中,右上方圈起的四個點即是最少選取的控制點。
輸入格式
第一行為一個正整數 \(N\)。第二行有 \(N\) 個非負整數,依序是這些點的 \(X\) 座標;第三行有 \(N\) 個非負整數,依序是這些點的 \(Y\) 座標。同行數字間以空白隔開。
限制
- \(1 \le N \le 10^5\)。
- 座標值是不超過 \(10^9\) 的非負整數。
- 不同的點可能有相同的座標;相同座標的點只需要選一個當控制點。
輸出格式
輸出最少的控制點數量。
評分說明
每筆計分測資獨立計分,每筆 5 分,共 100 分;範例不計分。
範例輸入 1
4
1 2 3 3
1 2 3 3
範例輸出 1
1
範例輸入 2
8
3 1 5 3 4 7 8 9
8 2 5 1 2 4 2 3
範例輸出 2
4
題目來源
本題出自中正大學吳邦一教授所著《AP325-從 APCS 實作題檢測三級到五級》(v1.5)第 4 章 P-4-14,第 135 頁;經作者同意於 AACPOJ 免費公開。教材下載:AP325 講義(Google Drive);Python 版:AP325-Python(HackMD)。
登入後即可撰寫程式並提交評測。
登入