Codevs P1214 線段覆蓋 貪心

2021-07-08 17:59:16 字數 893 閱讀 7482

時間限制: 1 s

空間限制: 128000 kb

題目等級 : ** gold

題解 題目描述 description

給定x軸上的n(0 < n <100)條線段,每個線段由它的二個端點a_i和b_i確定,i=1,2,……n.這些座標都是區間(-999,999)的整數。有些線段之間會相互交疊或覆蓋。請你編寫乙個程式,從給出的線段中去掉盡量少的線段,使得剩下的線段兩兩之間沒有內部公共點。所謂的內部公共點是指乙個點同時屬於兩條線段且至少在其中一條線段的內部(即除去端點的部分)。

輸入描述 input description

輸入第一行是乙個整數n。接下來有n行,每行有二個空格隔開的整數,表示一條線段的二個端點的座標。

輸出描述 output description

輸出第一行是乙個整數表示最多剩下的線段數。

樣例輸入 sample input

3 6 3

1 3

2 5樣例輸出 sample output

2資料範圍及提示 data size & hint

0 < n<100

#include

#include

#include

using

namespace

std;

#define n 105

int n,ans,b;

struct linea[n];

int comp(line x,line y)

sort(a+1,a+n+1,comp);ans=0;b=a[1].x;

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

printf("%d",ans);

return

0;}

1214 線段覆蓋

貪心解法 解題思路 首先將線段端點調整為左端點小於 或等於 右端點 第二,根據右端點將線段從小到大排序 第三,掃瞄一遍,每次遇到的第乙個與當前的max不相交的即為最優選擇。實現 include includeusing namespace std const int n 101 struct nod...

1214 線段覆蓋 水

時間限制 1 s 空間限制 128000 kb 題目等級 gold 給定x軸上的n 0輸入描述 input description 輸入第一行是乙個整數n。接下來有n行,每行有二個空格隔開的整數,表示一條線段的二個端點的座標。輸出描述 output description 輸出第一行是乙個整數表示最...

1214 線段覆蓋wiki oi

題目描述 description 給定x軸上的n 0輸入描述 input description 輸入第一行是乙個整數n。接下來有n行,每行有二個空格隔開的整數,表示一條線段的二個端點的座標。輸出描述 output description 輸出第一行是乙個整數表示最多剩下的線段數。樣例輸入 samp...