STL 完美網路(優先佇列實現)

2022-05-03 07:57:13 字數 885 閱讀 9667

time limit: 1000ms memory limit: 65536k

完美網路是連通網路的基礎上要求去掉網路上任意一條線路,網路仍然是連通網路。求乙個連通網路要至少增加多少條邊可以成為完美網路。

第一行輸入乙個數t代表測試資料個數(t<=20)。每個測試資料第一行2個數n,m 分別代表網路基站數和基站間線路數。基站的序號為從1到n。接下來m行兩個數代表x,y 代表基站x,y間有一條線路。

(0對於每個樣例輸出最少增加多少線路可以成為完美網路。每行輸出乙個結果。

2

3 11 2

3 21 2

2 3

2

1 完美網路,只有圖中每個點的度》=2,此時才能保證任意刪去一條邊,圖還是聯通。

1 #include2 #include3 #include4 #include

5 #include6

using

namespace

std;78

intn,m;

9int dg[10000100

];//點的度

10int

main()

1126 sort(dg,dg+n);//排序,從小到大

2728

for(int i=0;i)

2933

int cnt = 0

;//需要加的邊數

34while(que.size()>=2)35

51if(!que.empty())//如果執行完上述while迴圈後,佇列還不為空

5255 printf("

%d\n

", cnt);56}

57return0;

58 }

STL 優先佇列

優先佇列 在優先佇列中,優先順序高的元素先出佇列。標準庫預設使用元素型別的 操作符來確定它們之間的優先順序關係。優先佇列的第一種用法,也是最常用的用法 priority queue qi 通過 操作符可知在整數中元素大的優先順序高。故示例1 中輸出結果為 9 6 5 3 2 第二種方法 在示例1 中...

優先佇列 stl

priority queue預設頂部是最大值 1 優先佇列的定義 包含標頭檔案 queue.h functional.h 可以使用具有預設優先順序的已有資料結構 也可以再定義優先佇列的時候傳入自定義的優先順序比較物件 或者使用自定義物件 資料結構 但是必須過載好 操作符。2 優先佇列的常用操作 優先...

STL 優先佇列

stl是個很玄學的東西,裡面有一種外掛程式般的操作 優先佇列。主體和佇列差不多,只不過每次push都會把當前的數放在合適的位置。而隊頭就是最大 小 的數。大概可以看成這樣的 queue tail a sort queue 1,queue 1 tail 隊頭最大的優先佇列 priority queue...