貪心 線段的重疊

2022-05-12 03:43:59 字數 800 閱讀 9443

1091 線段的重疊

基準時間限制:1 秒 空間限制:131072 kb 分值: 5 難度:1級演算法題

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

輸出最長重複區間的長度。
input示例

5

1 52 4

2 83 7

7 9

output示例

4

按起點公升序sort再for一次,最長距離為max(已知最長距離,min(已知最遠右端點,此線段右端點)-此線段左端點),時間複雜度為nlogn。

//**如下

#include

#include

#include

#include

using namespace std;

struct pnu[100000];

int com(struct p a,struct p b)

int main()

sort(nu,nu+n,com);

// ma=max(0,nu[0].r-nu[1].l-1);

for(i=0;i

1091 線段的重疊(貪心)

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

不重疊的線段 貪心

x軸上有n條線段,每條線段有1個起點s和終點e。最多能夠選出多少條互不重疊的線段。注 起點或終點重疊,不算重疊 例如 151523233636,可以選23233636,這2條線段互不重疊。input 第1行 1個數n,線段的數量 2 n 10000 第2 n 1行 每行2個數,線段的起點和終點 10...

1133 不重疊的線段 (貪心)

x軸上有n條線段,每條線段有1個起點s和終點e。最多能夠選出多少條互不重疊的線段。注 起點或終點重疊,不算重疊 例如 1 5 2 3 3 6 可以選 2 3 3 6 這2條線段互不重疊。input 第1行 1個數n,線段的數量 2 n 10000 第2 n 1行 每行2個數,線段的起點和終點 10 ...