區間合併 AcWing 803

2022-08-21 01:00:14 字數 864 閱讀 9205

#include#include

#include

using

namespace

std;

typedef pair

pii;

intn;

void merge(vector&interval)

); //

! 第一次在這裡初始化

st = item.first, ed = item.second;//

! 第一段區間從這裡開始

}

else ed =max(ed, item.second);

}//todo 這個迴圈結束之後還會剩下乙個區間

if(st!=-1e9-10) ans.push_back(); //

! 如果不是空的 那我們就加上一段

interval =ans;

}int main(void

));

}

merge(interval);

cout

<< interval.size()

}

介紹一種結構體合併區間的演算法。

#include#include

#include

using

namespace

std;

const

int n = 100010

;struct

nodea[n];

intn;

bool cmp(node c,node d)

intmain()

cout

<< ans

}

AcWing 803 區間合併

給定 n 個區間 li,ri 要求合併所有有交集的區間。注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。共一行,包含乙個整數,表示合併區間完成後的區間個數。1 n 10000...

AcWing 803 區間合併 C

注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 輸入格式 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。輸出格式 共一行,包含乙個整數,表示合併區間完成後的區間個數。資料範圍 1 n 100000,109 li ri 1...

803 區間合併

給定 n 個區間 l i,r i 要求合併所有有交集的區間。注意如果在端點處相交,也算有交集。輸出合併完成後的區間個數。例如 1,3 和 2,6 可以合併為乙個區間 1,6 輸入格式 第一行包含整數n。接下來n行,每行包含兩個整數 l 和 r。輸出格式 共一行,包含乙個整數,表示合併區間完成後的區間...