JSOI 2008 最小生成树计数 今天的题目终于良心一点辣 一个套路+模版题。 考虑昨天讲的那几个结论,我们有当我们只保留最小生成树中权值不超过 $ k $ 的边的时候形成的联通块是一定的。 我们可以先拿 kruskal 跑一棵最小生成树,然后我们可以从小到大枚举边权,把所有除开枚举到的边权的边全 ...
分类:
Web程序 时间:
2020-02-13 11:17:20
阅读次数:
92
目录 贪心 搜索 数据结构 栈 队列 优先队列 map vector 树状数组 线段树 其他 bitset 字符串 KMP Trie树 Manecher AC自动机 序列自动机 后缀数组 数论 因数 最小公倍数,最大公因数 质因数 质数 质数判断 质数筛法 快速幂 逆元 中国剩余定理 扩展欧几里得 ...
分类:
其他好文 时间:
2020-02-06 19:37:23
阅读次数:
130
这个题还是很好的 有几个套路 先是我们看到题目中让我们处理点权,但是我们发现并不好处理 所以就先化点为边 (套路1) 把每一条边的边权视作边所连接的两个点的$min$值 然后我们看到这个题有路径的问题,就先还是要较大的 可以比较显然地想到最大生成树 (套路2) 在$Kruskal$中改一下排序方式就 ...
分类:
其他好文 时间:
2020-02-03 18:56:22
阅读次数:
68
给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E|。 由V中的全部n个顶点和E中n-1条边构成 ...
分类:
编程语言 时间:
2020-02-03 15:55:36
阅读次数:
68
题目链接: "http://poj.org/problem?id=1679" 题目大意: 给你一个简单连通图,判断他的最小生成树是否唯一。 解题思路: 首先(我这里用Kruskal算法)求出它的最小生成树(以下简称MST)以及对应的边,然后构造出这棵MST。 然后我们枚举图上每一条不在此MST上的边 ...
分类:
其他好文 时间:
2020-02-02 19:56:59
阅读次数:
91
Prim、Kruskal算法求解最小生成树 [TOC] 关于最小生成树有两个很重要的算法:Prime(普利姆)算法和Kruskal(克鲁斯卡尔)算法,下面是这两个算法的代码上的基本实现: Prime算法 该算法利用了最小生成树的MST性质,该算法很好的运用了贪心算法,其基本思想是随机选取一个结点,找 ...
分类:
其他好文 时间:
2020-02-02 15:31:10
阅读次数:
73
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。 ...
分类:
编程语言 时间:
2020-02-02 01:19:09
阅读次数:
81
给定边权为正的连通图G,找出连接所有顶点的边的最小权值(集)。 Kruskal:步骤:1. 按边权从小到大的顺序遍历边。2. 如果边对应的两个点不在同一连通分量中,则将其相连。否则忽略。贪心 + 并查集,时间复杂度$O(ElogE+E*A(V)+V)(A\ is\ Ackermann)$。 Prim ...
分类:
其他好文 时间:
2020-01-30 23:21:43
阅读次数:
137
题意: 给一个n个点的图,每个点有权值,每条边有权值。q次询问,每次询问从a出发不经过边权大于x的边能够到达的所有点中,点权第k大的值。 n<=100000,q<=500000 题解: 点权第k大的值,容易想到可持久化线段树,问题就在于如何把要查询的点转化为一段连续的区间。 考虑建立Kruskal重 ...
分类:
其他好文 时间:
2020-01-29 01:21:03
阅读次数:
89
求最小生成树常用,因为效率高(Omlgm) 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E| ...
分类:
编程语言 时间:
2020-01-28 15:46:00
阅读次数:
65