2271 魔法交流活動

2021-08-19 23:15:38 字數 1609 閱讀 9059

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 177  

解決: 56 [

提交][

狀態][

討論版][命題人:

admin]

魔法學校近日開展了主題為「天氣晴朗」的魔法交流活動。

n名魔法師按陣法站好,之後選取n - 1條魔法鏈將所有魔法師的魔力連線起來,形成乙個魔法陣。

魔法鏈是做法成功與否的關鍵。每一條魔法鏈都有乙個魔力值v,魔法最終的效果取決於陣中所有魔法鏈的魔力值的和。

由於逆天改命的魔法過於暴力,所以我們要求陣中的魔法鏈的魔力值最大值盡可能的小,與此同時,魔力值之和要盡可能的大。

現在給定魔法師人數n,魔法鏈數目m。求此魔法陣的最大效果。

兩個正整數n,m。(1 <= n <= 10^5, n <= m <= 2 * 10^5) 

接下來m行,每一行有三個整數a, b, v。(1 <= a, b <= n, int_min <= v <= int_max) 

保證輸入資料合法。

輸出乙個正整數r,表示符合條件的魔法陣的魔力值之和。

4 6

1 2 3

1 3 1

1 4 7

2 3 4

2 4 5

3 4 6

12
題解:

1.最大的邊盡可能小,那麼可以用kurskal演算法或者prim演算法演算法他的最小生成樹,記錄最大的那條邊

2.然後就知道,就算只選取小於這條邊的邊,也至少能構成1棵樹(最小生成樹),根據題目要求,優先選擇大的邊(但要小於1中記錄的最大值)

ac**:

# include # include # include # define inf 0x3f3f3f3f

using namespace std;

int pre[100001];

struct qwe

a[200002];

void qwe(int n)

int find(int x) // 找到上一層的結點.

/*int find(int x) // 另外一種 find

return x;}*/

/*void join(int x, int y) // 合併樹

*/ bool cmp(struct qwe x, struct qwe y)

bool cmp1(struct qwe x, struct qwe y)

int main(void)

if (sum == n-1)

break;

} qwe(n); // 初始化陣列為他本身

long long q = 0;

sum = 0;

for (i = 0; i < m; i ++)

}sort(a, a+k, cmp1); // 從構成關係的位置價值從大到小排序

for (i = 0; i < k; i ++)

if (sum == n-1) // 能構成關係 結束.

break;

} printf("%lld\n", q); }

return 0;

}

個人知識管理交流活動個人總結

9月7日,由友商社群主辦,金蝶社群 暢享網 kmc協辦的專家面對面 個人知識管理交流活動得到了四個社群的支援,活動非常圓滿。看到參加的人都陸陸續續寫出了總結,而且個人知識管理的很重要一部分也是及時總,再加上當時去時就有過活動後寫總結的約定,於是現在寫總結來了。活動上大家都很有積極性,而且都認識得到知...

「敏捷西安」首次技術交流活動成功舉行

3月24日星期六,敏捷西安 首次技術交流活動在西安軟體園成功舉行。這次活動採用開放的活動形式 類似open space和unconference 由所有參會的 人貢獻並選出自己感興趣的話題。每乙個願意交流的人都可以寫出自己希望交流的 topic,在活動一開始由主講人展示出來,大家投票選擇。活動的主題...

RIAMeeting第六次開發者交流活動

前三次活動我都參加過,第四次和第五次因故未能到場。這次一定要去看看 可以用這個報名 這是flex做的表單提交介面。但我提交報名資訊時,出錯。不知為何。以下是原文 月的25日,riameeting將舉辦第六次開發者交流活動,本次活動邀請到了adobe 的air evangelist 老外 為我們講乙個...