算法回顾板子

Posted zllwxm123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法回顾板子相关的知识,希望对你有一定的参考价值。

最小生成树

 1 #include <iostream>
 2 #include <algorithm>
 3 #define N 50005
 4 using namespace std;
 5 
 6 int n, m;
 7 struct Node{
 8     int x, y, val;
 9     friend bool operator <(const Node &a, const Node &b){
10         return a.val < b.val;
11     }
12 }node[N];
13 
14 int fa[N];
15 int sum = 0;
16 int find(int x){
17     return fa[x] == x? x: fa[x] = find(fa[x]);
18 }
19 int cnt = 0;
20 void kruskal(){
21     for(int i = 0; i <= n; i++)
22         fa[i] = i;
23     for(int i = 0; i < m; i++){
24         int ax = find(node[i].x);
25         int ay = find(node[i].y);
26         if(ax != ay){
27             fa[ax] = ay;
28             sum += node[i].val;
29             cnt++;
30         }
31         if(cnt == n-1)
32             break;
33     }
34 }
35 
36 
37 int main(){    
38     cin >> n >> m;
39     for(int i = 0; i < m; i++){
40         cin >> node[i].x >> node[i].y >> node[i].val;
41     }
42     sort(node, node+m);
43     kruskal();
44     cout << sum << endl;
45     return 0;
46 }

 

以上是关于算法回顾板子的主要内容,如果未能解决你的问题,请参考以下文章

1zoj A simple problem with integer 2|板子|分块

以下代码片段的算法复杂度

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023

算法基本的板子

板子 网络流算法