C 一本通 1 1 練習 3 線段

2021-10-23 05:41:15 字數 1472 閱讀 1523

一本通題庫-1429

libreoj-10007

vjudge

在乙個數軸上有n

nn條線段,現選取其中k

kk條線段使得這k

kk條線段兩兩沒有重合部分,問最大的k

kk為多少?

第一行為乙個正整數n

nn,下面n

nn行每行2

22個數字a

ia_i

ai​,b

ib_i

bi​,描述每條線段。

輸出檔案僅包括1

11個整數,為k

kk的最大值。

3

0 22 4

1 3

2
對於20%的資料,n≤10

n≤10

n≤10

。對於50%的資料,n

≤1000

n≤1000

n≤1000

。對於70%的資料,n

≤100000

n≤100000

n≤1000

00。對於20%的資料,n

≤1000000

n≤1000000

n≤1000

000,0≤a

i

≤1000000

0≤a_i0≤

ai​​≤10

0000

0。貪心。

和前面的例題解析相似,此處不提。

#pragma gcc optimize(3,"ofast","inline")

#pragma g++ optimize(3,"ofast","inline")

#include

#include

#include

#include

#include

#define ri register int

#define re(i,a,b) for(ri i=a; i<=b; i++)

#define ms(i,a) memset(a,i,sizeof(a))

#define max(a,b) (((a)>(b)) ? (a):(b))

#define min(a,b) (((a)<(b)) ? (a):(b))

using

namespace std;

typedef

long

long ll;

const

int n=

1e6+5;

struct node

} line[n]

;int n;

intmain()

}printf

("%d\n"

,ans)

;return0;

}

C 一本通 1 1 練習 1 數列極差

一本通題庫 1427 libreoj 10005 vjudge 注意 一本通題庫和libreoj題意相同,但輸入格式不同。以一本通題庫為準。在黑板上寫了n nn個正整數作成的乙個數列,進行如下操作 每一次擦去其中的兩個數a aa和b bb,然後在數列中加入乙個數a b 1 a b 1 a b 1,如...

10009 一本通 1 1 練習 5 釣魚

題目描述 在一條水平路邊,有 n 個釣魚湖,從左到右編號為 1,2,n。佳佳有 h個小時的空餘時間,他希望利用這個時間釣到更多的魚。他從 1 出發,向右走,有選擇的在一些湖邊停留一定的時間 是 5 分鐘的倍數 釣魚。最後在某乙個湖邊結束釣魚。佳佳從第 i 個湖到第 i 1個湖需要走 5 ti分鐘路,...

一本通 1 1 練習 1 數列極差

題目傳送門 這題也是典型的貪心演算法題。對於這個問題 先通過例項來認識問題所描述的計算過程。令 n 3 取數列 3,5,7 可能有下面三種情況 3 5 1 7 1 113 3 7 1 5 1 111 5 7 1 3 1 109 由此可見先運算小資料的到的是最大值,先運算大資料得到的是最小值。故針對此...