kruskal重構樹的板子題
和貨車運輸一樣滴
會的可以寫這個
我直接改的貨車運輸當時的倍增lca的**
思路就是建出最小生成樹
因為顯然一些邊權很大的邊是不可能走的
然後倍增維護路徑上邊權的極值
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define a 1000010
#define b 2010
using
namespace std;
typedef
long
long ll;
struct node edge[a]
;struct to
}e[a]
;int n, m, fa[a]
, vis[a]
, f[a][21
], w[a][21
], dep[a]
, a, b, c, q, faa[a]
;int head[a]
, num_edge;
void
add_edge
(int from,
int to,
int dis)
intfind
(int x)
void
kruskal()
}void
dfs(
int fr,
int val)
}int
lca(
int fr,
int to)
intmain
(int argc,
char
const
*ar**)
return0;
}
洛谷2245 星際導航
sideman做好了回到gliese 星球的硬體準備,但是sideman的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有n 個頂點和m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。sideman 現在想把危險程度降到最小...
P2245 星際導航
sideman做好了回到gliese星球的硬體準備,但是sideman的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有 n 個頂點和 m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。sideman現在想把危險程度降到最小...
P2245 星際導航
sideman 做好了回到gliese星球的硬體準備,但是sideman的導航系統還沒有完全設計好。為了方便起見,我們可以認為宇宙是一張有n 個頂點和m 條邊的帶權無向圖,頂點表示各個星系,兩個星系之間有邊就表示兩個星系之間可以直航,而邊權則是航行的危險程度。sideman 現在想把危險程度降到最小...