生成树
acblacktea
永不放弃
展开
-
2016 多校 hdu 5723
首先最小生成树,然后dfs统计每条边经过了几棵子树 每条边经过的子树个数等于这条边连接的子树节点数*(n-子树节点数)因为这是一棵树每条边都能把树分成两个集合,假设第一个集合的元素数目为n1,第二个集合的元素数目为n2,那么从两个集合分别选出一点就有n1*n2种方案#include<vector>#include<algorithm>#include<iostream>#include<cst原创 2016-07-20 22:18:43 · 453 阅读 · 0 评论 -
Poj-2031 最小生成树+几何
用最短距离使几个球联通,最小生成树,两点距离为几何知识。#include<cstdio>#include<algorithm>#include<iostream>#include<cmath>using namespace std;struct edge{ int x,y; double v;}e[20000];int fa[200],am[200];double a原创 2016-02-25 21:03:56 · 409 阅读 · 0 评论 -
poj-1258-最小生成树kruskal模板
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int n,l1,a,fa[200],am[200];struct edge{ int x,y,v;}e[20000];void init(){ for(int i=0;i<n;i++)原创 2016-01-11 17:24:05 · 529 阅读 · 0 评论 -
poj-2485-最小生成树prim算法模板
#include<cstdio>#include<cstring>int dis[505][505],t,n,sym[1000];void init(){ memset(sym,0,sizeof(sym));}int prim(){ int ans = -1; for(int i=0;i<n;i++) { int minn = 9999原创 2016-01-11 15:27:20 · 398 阅读 · 0 评论