
图论-生成树
TengWan_Alunl
AFO
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图论-生成树-黑暗城堡
没什么好说的,没有想清楚结果把计算ans数组时候用到的链式向前星的head写错了。。WA得还剩20分。应该要写head[v[i].v]的,不能写head[i],因为现在的第i个位置上放的已经不是原来的第i个点了。#include<bits/stdc++.h>#define rep(i,l,r) for(int i=(l);i<=(r);i++)#define per(i,...原创 2018-10-11 20:20:36 · 403 阅读 · 0 评论 -
图论-生成树-次小生成树
dfs预处理的时候光顾着处理最大值与次大值了,竟然忘记处理祖先值。。。#include<bits/stdc++.h>#define rep(i,l,r) for(int i=(l);i<=(r);i++)#define per(i,r,l) for(int i=(r);i>=(l);i--)#define random(l,r) ((l)+rand()%((r)-(...原创 2018-10-14 16:33:59 · 348 阅读 · 0 评论 -
图论-生成树 新的开始
第一次遇到这种加点的题目。本题的不同之处就在于在每个点上建发电站需要费用,不能直接用最小生成树的模型来做,其他办法也不知道该如何处理。于是考虑对题目的模型进行转化,将它化归成最小生成树模型。因此有加点的技巧:原图有0n-1共n个点,加入一个虚点n,map[n][i]即为建立发电站费用的v[i],对0n这(n+1)个点做最小生成树得到的结果就是答案。另外,听闻图论中还有一些题目要用到拆点什么...原创 2018-10-08 19:16:51 · 319 阅读 · 0 评论 -
图论-生成树-构造完全图
记得要将初始边的边权加入答案中。在这里插入代码片#include<bits/stdc++.h>#define rep(i,l,r) for(int i=(l);i<=(r);i++)#define per(i,r,l) for(int i=(r);i>=(l);i--)#define random(l,r) ((l)+rand()%((r)-(l)+1))usin...原创 2018-10-10 18:57:04 · 1512 阅读 · 0 评论 -
图论-生成树-北极通讯网络(二分答案或最小生成树)【浅显易懂的思维过程】
自己想到的一种解法:二分答案在实数域上二分d的值,检验的办法就是将距离小于等于的所有点对用并查集合并在一起(也就是在一个联通块里了),最后扫一遍算出一共有多少个联通块,如果联通块的块数少于等于k,那么当前d值合法,否则不合法。还要注意一个小细节,当最后只有一个联通块的时候实际上全图就已经联通了不需要卫星设备,直接返回合法。此外,当只有一台卫星设备的时候和没有卫星设备是一样的。#includ...原创 2018-10-10 19:59:18 · 763 阅读 · 0 评论 -
图论-生成树-最小生成树计数
我的天,改一个晚上才改出来,一个及其细微难以发现的逻辑错误:在做最小生成树顺便保留并查集状态的时候,不论每次是否处理的是新的种类的边(离散化后的),都应当先将fa拷贝到nowfa当中去,否则将会出现一种边没有被使用过(因为加入后会形成环),从而其相对应的nowfa均为0,导致在dfs判断所选则的边会不会形成环时得出有环的结论(因为fa[a]、fa[b]都是0),进而引起方案数出现0的情况。#in...原创 2018-10-21 21:52:37 · 890 阅读 · 1 评论