码迷,mamicode.com
首页 >  
搜索关键字:kruskal    ( 1147个结果
[CSP-S模拟测试]:小P的生成树(数学+Kruskal)
题目描述 小$P$是个勤于思考的好孩子,自从学习了最大生成树后,他就一直在想:能否将边权范围从实数推广到复数呢?可是马上小$P$就发现了问题,复数之间的大小关系并没有定义。于是对于任意两个复数$z_1,z_2$,小$P$定义$z_1<z_2$当且仅当$|z_1|<|z_2|$。 现在,给出一张$n$ ...
分类:其他好文   时间:2019-10-15 10:08:10    阅读次数:108
Templates
Game theory Nim SG function Graph theory SPFA Dijkstra MST (Kruskal) Virtual tree 例: "[SDOI2011]消耗战" Tree plus cycle (contaning multiple edges) Heavy ...
分类:其他好文   时间:2019-10-12 22:26:29    阅读次数:95
最小生成树总结
两种方法 1.Kruskal算法(解决疏松图) 7.最小生成树计数 做法:应用最小生成树的两条性质: 1.不同的最小生成树中,每种权值的边出现的个数是确定的 2.不同的生成树中,某一种权值的边连接完成后,形成的联通块状态是一样的 此时需要记录所有的边权种类,最小生成树需要的种类边权个数,暴力二进制枚 ...
分类:其他好文   时间:2019-10-12 20:40:34    阅读次数:74
最小生成树计数
https://loj.ac/problem/10070 题目描述 给出一张图,求它最小生成树的个数。 思路 这道题不论是暴力还是矩阵树定理都需要一个定理:同一个图中的所有最小生成树的边权的数量都一定。 证明:假设定理不成立,那我们必定可以有两条最小生成树边a、b和非树边x、y,满足权值a+b=x+ ...
分类:其他好文   时间:2019-10-11 17:56:50    阅读次数:72
最小生成树
Kruskal 按照每条边的权值大小排序,每次加入一条最小的边(保证不会形成环,用并查集维护)直到加入了n 1条边 Kruskal适用于稀疏图 $O(m\ log \ m)$ ...
分类:其他好文   时间:2019-10-10 09:15:38    阅读次数:75
题解 【一个人的公司】
传送门 这道题 %10 的数据是为暴搜准备的。 根据题目中的连接成功条件,可以看出这是一题最小生成树,以最小的代价用 n -1 条边连接 n 个点。最小生成树有两种算法, Prim 和 kruskal 。 关于 Prim 它死了。 PrimPrim 的时间复杂度为 O(n^2}) ,本题数据量过大, ...
分类:其他好文   时间:2019-10-08 14:30:48    阅读次数:71
【题解】Luogu P2212 [USACO14MAR] 浇地 Watering the Fields 最小生成树
裸的板子,判一下d和c的大小 我菜死了,kruskal写挂的原因竟然是,sort的范围错了 WA到爆了 kruskal都忘了怎么写,赶快滚去复习 code 1 #include <bits/stdc++.h> 2 using namespace std; 3 namespace gengyf{ 4 ...
分类:其他好文   时间:2019-10-07 12:57:13    阅读次数:55
P4047 [JSOI2010]部落划分
题目链接 这道题一看最小值最大,很容易被误导进二分答案的思路,但实际上并不需要二分答案。 其实正解是最小生成树,我们先预处理出原图的最小生成树,因为要分k个部落,所以我们先把最小的n-k边先全部选走。因为我们用kruskal的话要用到并查集,这样我们就可以判断他们是否在同一部落中。然后我们再枚举剩下 ...
分类:Web程序   时间:2019-10-06 20:54:07    阅读次数:111
CF888G Xor-MST
"cf" "luogu" 这题$prim$和$kruskal$似乎都不可做,考虑$Boruvka$算法,维护一堆连通块,对于每个连通块每次找出其他连通块和它的最小权值的边,然后只用这些边合并连通块,首先这样子做是对的,因为参考$prim$,连通块应该用最小权的边和其他连通块合并,并且每次合并连通块数 ...
分类:其他好文   时间:2019-10-05 00:53:59    阅读次数:62
Gym - 101173H Hangar Hurdles (kruskal重构树/最小生成树+LCA)
题目大意:给出一个n*n的矩阵,有一些点是障碍,给出Q组询问,每组询问求两点间能通过的最大正方形宽度。 首先需要求出以每个点(i,j)为中心的最大正方形宽度mxl[i][j],可以用二维前缀和+二分或者BFS求。 然后每相邻的两个点建一条权值为min(mxl[i][j],mxl[i'][j'])的边 ...
分类:其他好文   时间:2019-10-04 20:52:23    阅读次数:123
1147条   上一页 1 ... 10 11 12 13 14 ... 115 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!