最小生成树
Dan__ge
Today is difficult,tomorrow is more difficult,but the day after is beautiful.
展开
-
HDU 1863 并查集+Kruskal
点击打开链接 题意:不解释了 思路:也不解释了,并查集判段连通性,Kruskal求最小生成树,大水题(/ □ \)#include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; const int inf=0x原创 2016-05-25 19:34:17 · 3195 阅读 · 0 评论 -
POJ 1679 最小生成树
点击打开链接 题意:问最小生成树是否唯一 思路:模版求次小生成树与最小生成树的值是否相同 #include #include #include #include #include const double INF=0x3f3f3f3f; using namespace std; int dis[105],path[105][105],G[105][105]; int n,m,p原创 2016-05-30 20:06:09 · 587 阅读 · 0 评论 -
UVA 11354 LCA+最小生成树
点击打开链接 题意:给一个无向图,然后有Q次询问U V,问的是U到V的所有路径中的最小值最大 思路:U到V的路径最小值最大,则这条边肯定是最小生成树上的边,那么我们可以先将所有的最小生成树上的边全都找出来,然后现在是一个树,然后跑一边LCA,对于现在询问的U到V,只要找到它们的最近公共祖先,然后两个点向上找到它,比较路径中的最大值即可 PS:这么暴力找跑得有点慢#include #incl原创 2016-06-28 19:17:35 · 1701 阅读 · 0 评论 -
codeforces 733F LCA+最小生成树
点击打开链接 题意:给一个图,及每条边的边权,然后每条边都可以使自己的边权减少1,但是需要费用ci,然后你有S的费用,问你如何分配这些费用使得最小生成树的值最小 思路:首先要明确对于这所有的费用,我是全部用在一条边上的,也就是说只用修改一条边的权值,那么我们可以先将原图的最小生成树找出来,然后建个LCA 的图,之后枚举每条边,如果是最小生成树上的边,那么直接减然后判断即可, 但是如果不是的话,原创 2016-11-20 14:39:26 · 926 阅读 · 0 评论