題目描述 description
給定x軸上的n(0輸入描述 input description
輸入第一行是乙個整數n。接下來有n行,每行有二個空格隔開的整數,表示一條線段的二個端點的座標。
輸出描述 output description
輸出第一行是乙個整數表示最多剩下的線段數。
樣例輸入 sample input 3
6 3
1 3
2 5
樣例輸出 sample output 2
資料範圍及提示 data size & hint 0
解題思路
貪心策略。
先按右端點將所有線段排序,優先安排右端點小的線段在前面以盡量給後面線段節省位置;
再遍歷所有線段,無交叉則加上,記錄線段累加情況並更新已填充區右邊界。
ac**如下:
#include #include using namespace std;
struct sega[105];
//右端點小的優先排在前面
bool cmp( seg a, seg b )
int main()
}sort( a, a+n, cmp );
int rr = a[0].r, num = 1;
for( int i = 1; i < n; ++i )
}cout<
codevs1214 線段覆蓋
題目描述 description 給定x軸上的n 0 輸入描述 input description 輸入第一行是乙個整數n。接下來有n行,每行有二個空格隔開的整數,表示一條線段的二個端點的座標。輸出描述 output description 輸出第一行是乙個整數表示最多剩下的線段數。樣例輸入 sam...
Codevs 1214 線段覆蓋
時間限制 1 s 空間限制 128000 kb 題目等級 gold 給定x軸上的n 0 輸入描述 input description 輸入第一行是乙個整數n。接下來有n行,每行有二個空格隔開的整數,表示一條線段的二個端點的座標。輸出描述 output description 輸出第一行是乙個整數表示...
codevs 1214 線段覆蓋(貪心)
題目 codevs1214 思路 將輸入的區間按照左小右大交換,然後按照左區間從小到大排序,左區間一樣的,比較右區間,也按從小到大 然後從第乙個區間開始刪除後面的區間,如果後面的區間左區間大於前面的右區間,在比較前面的右區間和後面的右區間,如果前面的右區間大則刪除前面的那個區間,否則刪除後面的區間 ...