51nod 1091 線段的重疊

2021-08-17 20:47:32 字數 429 閱讀 6091

我以為只是起點從小到大,終點從大到小排序就行了,然後兩個兩個的找重疊部分就行了,結果。。。這種情況不行:

5 2 8

2 4

3 7

這種是第乙個和第三個重疊最大~~~

所以要維護乙個 i-1 之前終點的最大值,與第i次的終點取最小,才是重疊區間的終點。。。

重疊部分的起點就是i的起點,因為是遞增的~

#include"iostream"

#include"algorithm"

using

namespace

std;

const

int maxn=5e4+5;

int n;

struct aaa

cout

<"\n";

}}

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 ...