1640 天氣晴朗的魔法
基準時間限制:1 秒 空間限制:131072 kb 分值: 20
難度:3級演算法題
這樣陰沉的天氣持續下去,我們不免擔心起他的健康。51nod魔法學校近日開展了主題為「天氣晴朗」的魔法交流活動。
n名魔法師按陣法站好,之後選取n - 1條魔法鏈將所有魔法師的魔力連線起來,形成乙個魔法陣。
魔法鏈是做法成功與否的關鍵。每一條魔法鏈都有乙個魔力值v,魔法最終的效果取決於陣中所有魔法鏈的魔力值的和。
由於逆天改命的魔法過於暴力,所以我們要求陣中的魔法鏈的魔力值最大值盡可能的小,與此同時,魔力值之和要盡可能的大。
現在給定魔法師人數n,魔法鏈數目m。求此魔法陣的最大效果。
input
兩個正整數n,m。(1 <= n <= 10^5, n <= m <= 2 * 10^5)output接下來m行,每一行有三個整數a, b, v。(1 <= a, b <= n, int_min <= v <= int_max)
保證輸入資料合法。
輸出乙個正整數r,表示符合條件的魔法陣的魔力值之和。input示例
4 6output示例1 2 3
1 3 1
1 4 7
2 3 4
2 4 5
3 4 6
12題目要求生成樹中最長的邊最小 這個可以二分卡過
但是 我們知道 最小生成樹中的最大邊一定是所有生成樹中 最大邊最小的一條
所以我們可以先求最小生成樹 找到最大邊 然後找比這個最大邊小的邊建一顆最大生成樹
求權值和 即可
1 #include 2 #include 3 #include 4**5const
int maxn=200010
;6 typedef long
long
ll;7
8int
n,m,mx,tot;910
ll sum;
1112
intfa[maxn];
1314
struct
node
20};
21node edge[maxn];
2223 inline void read(int&x)
2930 inline int find(int
x) 34
35int
hh()
49if(tot==n-1) break;50
}51for(int i=1;i<=n;++i) fa[i]=i;
52 tot=0;53
for(int i=m;i;--i)
62if(tot==n-1) goto
end;63}
64}65end:
66 printf("
%lld\n
",sum);
67return0;
68}6970
int sb=hh();
71int main(int argc,char**argv)
1640 天氣晴朗的魔法
51nod魔法學校近日開展了主題為 天氣晴朗 的魔法交流活動。n名魔法師按陣法站好,之後選取n 1條魔法鏈將所有魔法師的魔力連線起來,形成乙個魔法陣。魔法鏈是做法成功與否的關鍵。每一條魔法鏈都有乙個魔力值v,魔法最終的效果取決於陣中所有魔法鏈的魔力值的和。由於逆天改命的魔法過於暴力,所以我們要求陣中...
nod 1640 天氣晴朗的魔法
這樣陰沉的天氣持續下去,我們不免擔心起他的健康。51nod魔法學校近日開展了主題為 天氣晴朗 的魔法交流活動。n名魔法師按陣法站好,之後選取n 1條魔法鏈將所有魔法師的魔力連線起來,形成乙個魔法陣。魔法鏈是做法成功與否的關鍵。每一條魔法鏈都有乙個魔力值v,魔法最終的效果取決於陣中所有魔法鏈的魔力值的...
1640 天氣晴朗的魔法(krustal演算法)
1640 天氣晴朗的魔法 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 這樣陰沉的天氣持續下去,我們不免擔心起他的健康。51nod魔法學校近日開展了主題為 天氣晴朗 的魔法交流活動。n名魔法師按陣法站好,之後選取n 1條魔法鏈將所有魔法師的魔力連線起來,形成乙個...