CSP 2023年12月 資料中心

2021-09-12 06:08:37 字數 1359 閱讀 5986

一道很簡單的模板題,先求出該圖的最小生成樹

然後以root為根節點每一層向下遍歷即可

按層向下遍歷需要小心,這裡使用的是鄰接表,生成最小生成樹的時候

是將其看為無向圖,而現在是樹,從上往下意味著只能是單向傳輸

處理好這一點就沒有什麼問題了

**用的是乙個set存mst的各個點,只要遍歷過就將其剝離

#include

#include

#include

#include

#include

#include

#define local

#define see(x) cout << #x << " : " << x << endl;

using namespace std;

int n,m,root;

const

int maxn =

50010

;int father[

50010];

int rank[

50010];

int used[

50010];

struct edge

bool operator <

(edge other)};

vector edges;

vector

int,

int>

>

>

list

(maxn)

;// 存最後的最小生成樹的資料 鄰接表表示

set<

int> pointsset;

// 存最後的節點的集合

void

init()

intfind

(int x)

void

merge

(int x,

int y)

}// 按層遍歷

intgetres

(int root)

} res =

max(res,temp);}

return res;

}int

main()

sort

(edges.

begin()

,edges.

end())

;for

(int i =

0;i < m;i++)}

cout <<

getres

(root)

;return0;

}

CSP 2023年9月 買菜

我的csp 倉庫 由於時間都是正數而且資料規模並不大,所以可以使用陣列表示時間線,所以只需要建立兩個人的時間線陣列,將所有裝車時間區間置為1,其他為0 最後只需要一遍遍歷,兩個都為1的,就是在聊天的時間了 include include include define local using name...

CSP 2023年12月第2題 小明放學

資料型別 必須要是long long型別 所有測試點保證 n 10 5 可能出現的最大的數為10 6 10 5 10 11 int型最大表示的數是2147483647 2 10 9 long long最大儲存範圍是10 18 燈光的順序紅 綠 黃 k 1 紅 k 2 黃 k 3 綠 這個對應順序有點...

CSP 2023年9月第2題 買菜

這題的重點 就是要清楚地分析 兩個時間段之間的對應關係 要清晰的分析出 相交 包含 相離的情況 需要我們在紙上畫圖,這樣比較好分析 其次 要建立結構體陣列 從而來存放讀入的資料 還有就是 結果感覺 大概是10 9 的樣子,因此 把設定為 long long 型別 下面是 原始碼 include us...