最小生成树
文章平均质量分 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 · 216 阅读 · 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 · 435 阅读 · 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 · 226 阅读 · 0 评论 -
UVA 1151 Buy or Build
一道很好的最小生成树的题,在紫书上找的(主要是懒得读英文题)题面大意 平面有n个点 求最小生成树 点直接的花费是 欧几里得距离的平方 另外还有p个套餐(pp很小 很容易想到暴力枚举取哪些套餐 再暴力跑(也能过) 刘汝佳的书上是加了优化 先跑一次 筛出n-1条边 其他边就不用了 的确是很屌的想法(我自己想就是不用每次都排序 其实也很快 一个是130 一个148)接下来吐槽一下 刘汝佳的书上原创 2015-08-10 16:20:45 · 620 阅读 · 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 · 242 阅读 · 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 · 215 阅读 · 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 · 255 阅读 · 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 · 271 阅读 · 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 · 204 阅读 · 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 · 219 阅读 · 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 · 289 阅读 · 0 评论