51nod 3086 線段覆蓋加強版 貪心

2021-10-20 18:26:18 字數 677 閱讀 4202

傳送門:

在乙個數軸上有n條線段,線段的端點均為數軸上的整數點。

現在請你刪除盡量少的線段,使得剩下的線段不相交。

輸出剩下的線段數

輸入規模較大,建議使用讀入優化

貪心先按照左端點、右端點得大小排序

然後從前向後貪心的取線段,維護當前右端點now

每次取線段得時候有考慮兩種情況

#include

using namespace std;

const

int maxn=

2e6+10;

struct seg p[maxn]

;int n;

inline

intread()

while

(ch>=

'0'&&ch<=

'9')

return x*f;

}bool cmp

(seg a, seg b)

intmain()

sort

(p,p+n,cmp)

;int now=p[0]

.r,ans=1;

for(

int i=

1; i)else

}printf

("%d\n"

,ans)

;}

51nod 雷達覆蓋

現在有n個雷達。每個雷達的覆蓋區域是乙個正方體,區域用乙個頂點座標p x,y,z 和邊長l表示,p是區域的乙個頂點,整個區域是由p沿x,y,z軸正方向延展l得到的乙個正方體。現在想知道哪些區域是被所有雷達覆蓋到的,計算出這些區域的總體積。收起單組測試資料。第一行有乙個整數n 2 n 1000 表示雷...

51NOD 1031 骨牌覆蓋

1031 骨牌覆蓋 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 在2 n的乙個長方形方格中,用乙個1 2的骨牌排滿方格。問有多少種不同的排列方法。例如 2 3的方格,共有3種不同的排法。由於方案的數量巨大,只輸出 mod 10 9 7 的結果 輸入n n 10...

51nod 1031 骨牌覆蓋

在2 n的乙個長方形方格中,用乙個1 2的骨牌排滿方格。問有多少種不同的排列方法。例如 2 3的方格,共有3種不同的排法。由於方案的數量巨大,只輸出 mod 10 9 7 的結果 input 輸入n n 1000 output 輸出數量 mod 10 9 7 input示例 3 output示例 3...