![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小生成树
文章平均质量分 72
wlhz2017
这个作者很懒,什么都没留下…
展开
-
POJ 1251 Jungle Roads
依然是裸的一个最小生成树 输入稍有些麻烦 #include #include #include #include #include #include #include #include #include #include #include #define bug puts("bugbugbug"); using namespace std; typedef long long原创 2015-08-08 15:23:47 · 220 阅读 · 0 评论 -
HDU 5723/2016多校1A Abandoned country
题意:给你n个点m条边,求最小生成树,和任意两点距离的期望 题解:最小生成树的裸题,生成树有了以后期望再dfs跑一下就可以了。 注意:这题爆ll的地方很多 #include #include #include #include #include #include #include #include #include #include #include #include #include #d原创 2016-07-27 09:48:09 · 445 阅读 · 0 评论 -
POJ 1258 Agri-Net
依然是水题 裸的最小生成树 题面大意 就是输入n 和n*n的邻接矩阵存的距离 让你算最小生成树 直接贴代码了#include #include #include #include #include #include #include #include #include #include #include #define bug puts("bugbugbug"); using n原创 2015-08-08 14:53:04 · 232 阅读 · 0 评论 -
UVA 1151 Buy or Build
一道很好的最小生成树的题,在紫书上找的(主要是懒得读英文题)题面大意 平面有n个点 求最小生成树 点直接的花费是 欧几里得距离的平方 另外还有p个套餐(p p很小 很容易想到暴力枚举取哪些套餐 再暴力跑(也能过) 刘汝佳的书上是加了优化 先跑一次 筛出n-1条边 其他边就不用了 的确是很屌的想法(我自己想就是不用每次都排序 其实也很快 一个是130 一个148) 接下来吐槽一下 刘汝佳的书上原创 2015-08-10 16:20:45 · 641 阅读 · 0 评论 -
POJ 1789 ruck History
题目大意 给你n个串 2个串之间的距离为 相同位置上不同字符的数量 暴力处理出距离建边即可 这题属于稠密图 Kruscal 要跑1800ms 而prim 只需跑400ms #include #include #include #include #include #include #include #include #include #include #include #def原创 2015-08-08 15:52:01 · 249 阅读 · 0 评论 -
POJ 2485 Highways
求最小生成树的最大边 版子中的ans 的加操作改成 max即可 #include #include #include #include #include #include #include #include #include #include #include #define bug puts("bugbugbug"); using namespace std; typedef原创 2015-08-08 15:15:42 · 218 阅读 · 0 评论 -
UVA 1395 Slim Span
题目大意 给出一个n结点的图,求苗条度(最大边减最小边的值)尽量小的生成树 先把m条边排序 每次m²的枚举L和R,表示取哪些边。 可以加剪枝,必须满足W[R]-W[L] 且把L作为一重循环时,当有R满足条件,进行操作之后,就应该取下一个L。 tirck点 当n=2 m=1是特判一下即可 #include #include #include #include #include #原创 2015-08-08 16:59:44 · 258 阅读 · 0 评论 -
HDU 1879 继续畅通工程
最小生成树 原题中文 就不写了题意了 如果边已建 把权值设成0就好 剩下就是套板子了 没什么可说的 #include #include #include #include #include #include #include #include #include #include #include #define bug puts("bugbugbug"); using nam原创 2015-08-08 11:19:05 · 272 阅读 · 0 评论 -
HDU 1875 畅通工程再续
还是一道水题 只是边需要自己处理 由于点很少 n²的跑出来就好了 在把对应的各项都改成double型就可以了 #include #include #include #include #include #include #include #include #include #include #include #define bug puts("bugbugbug"); using原创 2015-08-08 14:43:45 · 206 阅读 · 0 评论 -
HDU 1863 畅通工程
水最小生成树 测试下模板 直接贴代码了 prim算法的 #include #include #include #include #include #include #include #include #include #include #include #define bug puts("bugbugbug"); using namespace std; typedef l原创 2015-08-08 11:05:54 · 220 阅读 · 0 评论 -
HDU 4984 / BC 6D Goffi and Graph
题意:给一个n点m边的无环图,边有权重a+bt 其中a,b给定,t为时间变量,f(i,t)表示,在t时间的时候 点1到点i的k条路径中,每条路径的最小边的最大值。最后求题目中的积分公式就行了。 点和边的范围都非常小,所以图也只会在很少的时间点发生变动,对于两个点之间的时段,其f(i,t)所执向的边都是稳定的a+bt,所以可以取每段的中点,给所有边赋对于值,求出执向的边后再乘时段长度即可。 对于原创 2016-07-08 20:50:35 · 297 阅读 · 0 评论