生成树
ID_BePosit
如果今天不比昨天多做一点什么,那么明天还有什么意义。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
B - Networking -Prim
https://cn.vjudge.net/contest/242377#problem/B 区别 生成树与最短路的 初始化问题 注意松弛操作的不同dis[j]>mmp[k][j] 不断用集合外最小的点去更新它所能连接的点 #include<iostream> #include<cstring> using namespace std; #de...原创 2018-08-03 10:49:10 · 225 阅读 · 0 评论 -
C - Destroy Walls -最大生成树
C - Destroy Walls HDU - 6187 题意: 墙全都建好了现在需要拆墙要求最小话费 可以转化为最大生成树 然后用总值减去最大生成树的权值即可 注意 有可能不存在 最大生成树。 so: #include<bits/stdc++.h> using namespace std; #define ll long long #define max...原创 2018-09-30 17:26:00 · 294 阅读 · 0 评论 -
ACM Contest and Blackout -次小生成树
ACM Contest and Blackout UVA - 10600 确实是跑完最小生成树之后 无脑枚举所有边去找出一条次小生成树 #include<bits/stdc++.h> using namespace std; #define maxn 107 const int INF = 0x3f3f3f3f; int t,n,m,ans,ans2,pre[m...原创 2018-10-04 15:13:51 · 239 阅读 · 0 评论 -
Highways -PRIM打印生成树边
Highways POJ - 1751 记录一下当前点被谁更新建立pre数组记录就解决了 #include<algorithm> #include<iostream> #include<cmath> #include<iomanip> using namespace std; #define maxn 777 #define ...原创 2018-09-24 11:39:48 · 254 阅读 · 0 评论 -
Arctic Network-PRIM第K最小边
Arctic Network POJ - 2349 有s个卫星和p个村庄,将p个村庄连通,最少需要p-1条边,现在s个卫星可以替代s-1条边,剩下的边的权值,只要在d权值内都可以连通,求剩下p-s条边连通的最小代价d是多少? 思路:最小生成树,求第p-s条最小边。计算出所有村庄线路的权值以后,建最小生成树,将每一次的权值存入数组,最后升序排序,输出第p-s个数。 总结:稠密图用pri...原创 2018-09-24 11:20:57 · 280 阅读 · 0 评论 -
Connect the Cities-部分生成树
HDU - 3371 题意: 建最小生成树不过已经有一些集合中的点都建好了。 思路: 最初以为每个集合中的点都需要相互连通一下,不过由于只最小生成树所以只需都于集合中的第一个点相连为0即可 Connect the Cities #include<bits/stdc++.h> using namespace std; #define maxn 55555 stru...原创 2018-09-10 20:20:40 · 213 阅读 · 0 评论 -
Slim Span -生成树性质-枚举最小树
Slim Span POJ - 3522 题意:找一种生成树建树方法使最大最小的差最小 。 枚举枚举最小边即可注意一旦生不成树break即可. #include<stdio.h> #include<cstring> #include<algorithm> using namespace std; #define maxn 10002 #...原创 2018-09-08 21:33:32 · 265 阅读 · 0 评论 -
Minimum Spanning Tree-生成树唯一?
K - The Unique MST POJ - 1679 标记最小生成树的每一条边然后依次去delete 判断能否还能构成最小生成树 注意 标记使用时 只需要第一次标记否会对后面产生影响。 #include<iostream> #include<cstring> #include<algorithm> #include<vecto...原创 2018-08-25 20:42:43 · 443 阅读 · 0 评论 -
天气晴朗的魔法-kruskal
J - 天气晴朗的魔法 51Nod - 1640 由于逆天改命的魔法过于暴力,所以我们要求阵中的魔法链的魔力值最大值尽可能的小,与此同时,魔力值之和要尽可能的大。 #include<bits/stdc++.h> using namespace std; #define maxn 850000 #define inf 0x3f3f3f3f long long f...原创 2018-08-25 09:06:51 · 249 阅读 · 0 评论 -
Make It Connected-生成树
Make It Connected 题意 :给定 n给点生成一棵树,发费 任意两点可以建边 ,花费为 a [ i ]+ a [ j ] ,还有给定的一些边,都可以使用。 思路 第一种建边方式必然是选择 都插在 a[ id ]最小的点上。 所以直接建立 n-1条 与 最小的 id 相连的边即可。然后在 现在所有的边上跑一边 最小生成树即可。 #include<bits/std...原创 2018-12-28 17:29:12 · 455 阅读 · 0 评论
分享