51nod 1091 線段的重疊 貪心

2021-07-13 05:53:01 字數 510 閱讀 3249

題目:x軸上有n條線段,每條線段包括1個起點和終點。線段的重疊是這樣來算的,[10 20]和[12 25]的重疊部分為[12 20]。

給出n條線段的起點和終點,從中選出2條線段,這兩條線段的重疊部分是最長的。輸出這個最長的距離。如果沒有重疊,輸出0。

input

第1行:線段的數量n(2 <= n <= 50000)。

第2 - n + 1行:每行2個數,線段的起點和終點。(0 <= s , e <= 10^9)

output

輸出最長重複區間的長度。

以起點公升序,終點降序排列。線性掃一遍,貪心取最大值。

#include #include#define n 55000

using namespace std;

struct node

a[n];

bool cmp(node a,node b)

{ return a.x==b.x?a.y>b.y:a.x

51nod 1091 線段的重疊

基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 x軸上有n條線段,每條線段包括1個起點和終點。線段的重疊是這樣來算的,10 20 和 12 25 的重疊部分為 12 20 給出n條線段的起點和終點,從中選出2條線段,這兩條線段的重疊部分是最長的。輸出這個最長的距離。...

51nod1091 線段的重疊

x軸上有n條線段,每條線段包括1個起點和終點。線段的重疊是這樣來算的,10 20 和 12 25 的重疊部分為 12 20 給出n條線段的起點和終點,從中選出2條線段,這兩條線段的重疊部分是最長的。輸出這個最長的距離。如果沒有重疊,輸出0。input 第1行 線段的數量n 2 n 50000 第2 ...

51Nod 1091 線段的重疊

x軸上有n條線段,每條線段包括1個起點和終點。線段的重疊是這樣來算的,10 20 和 12 25 的重疊部分為 12 20 給出n條線段的起點和終點,從中選出2條線段,這兩條線段的重疊部分是最長的。輸出這個最長的距離。如果沒有重疊,輸出0。input 第1行 線段的數量n 2 n 50000 第2 ...