求出平面图的对偶图,那么需要选择一些环,使得这些环可以异或出所有环。 对于两个不同的区域,需要用一个代价最小的环把它们区分开,这对应最小割。 那么求出对偶图的最小割树,所有树边之和就是把所有区域都区分开的最小代价。 ...
分类:
其他好文 时间:
2017-09-05 10:02:34
阅读次数:
164
题意:给出一棵无根树,然后下面再给出m条边,把这m条边连上,每次你去两条边,规定一条是树边,一条是新边,问有多少种方案能使树断裂。 解题关键:边权转化为点权,记录每条边被环覆盖的次数,通过val[a]++,val[b]++,val[lca(a,b)]-=2,来控制每个点上面的边,所以树的顶点要去掉。 ...
分类:
Web程序 时间:
2017-09-04 19:51:32
阅读次数:
183
【BZOJ1316】树上的询问 Description 一棵n个点的带权有根树,有p个询问,每次询问树中是否存在一条长度为Len的路径,如果是,输出Yes否输出No. Input 第一行两个整数n, p分别表示点的个数和询问的个数. 接下来n-1行每行三个数x, y, c,表示有一条树边x→y,长度 ...
分类:
其他好文 时间:
2017-09-03 10:09:14
阅读次数:
233
【算法】最短路树+(树链剖分+线段树)||最短路树+并查集 【题解】 两种方法的思想是一样的,首先题目限制了最短路树唯一。 那么建出最短路树后,就是询问对于每个点断掉父边后重新找路径的最小值,其它路径只能是这个点和其子树节点通过非树边到达非子树节点。 这样考虑很难统计,换个角度考虑每条非树边的影响。 ...
分类:
其他好文 时间:
2017-08-31 09:49:17
阅读次数:
291
设$d[x]$表示端点位于$x$子树内部的非树边条数,那么有两种情况: $1.$割去的两条树边$(x,fa[x]),(y,fa[y])$中,$x$是$y$的祖先,那么此时需要割去的非树边数量为$d[x]-d[y]$。 显然固定$x$之后$y$越靠上越好,因此$y$一定是$x$的儿子,枚举即可,时间复 ...
分类:
其他好文 时间:
2017-08-27 10:03:36
阅读次数:
113
思路:考虑加入新边对原图的影响: 每加入一条边,相当于在原图中构成一个环,因此要使原图在这个环上断开,必须删去这条新边和环上任意一条树边。 统计每一条树边出现在多少个环中,计作$c$: 1.$c=0$,则该边不属于任何一个环,因此删去这条边的同时删去任意一条新边即可,对答案的贡献是$m$; 2.$c ...
分类:
Web程序 时间:
2017-08-26 13:39:48
阅读次数:
198
【BZOJ3319】黑白树 Description 给定一棵树,边的颜色为黑或白,初始时全部为白色。维护两个操作:1.查询u到根路径上的第一条黑色边的标号。2.将u到v 路径上的所有边的颜色设为黑色。Notice:这棵树的根节点为1 给定一棵树,边的颜色为黑或白,初始时全部为白色。维护两个操作:1. ...
分类:
其他好文 时间:
2017-08-26 11:25:45
阅读次数:
235
codevs上的题目,自从wikioi改名后,就不怎么做题了。 这道题的话注释在代码中就可以了,还是求最长路,相较返回如果中间可以种多个的话,那就种越多越好,因为这样可以减少种的棵树, 所以这个i与i-1连一条负棵树的边,这样正的连0的边,以及范围的棵树边就可以了。 ...
分类:
其他好文 时间:
2017-08-26 04:42:58
阅读次数:
130
给定一颗n个节点树,边权为1,树上有m个点被标记,问从树上一个点出发,经过所有被标记的点的最短路程(起终点自选)。同时输出可能开始的编号最小的那个点。M<=N<=123456。 先想:如果所有点都被标记那么怎么样?我们发现对于起点s终点t,如果它们在同一条链上,那么必须先从s往外走,再回来,再经过t ...
分类:
其他好文 时间:
2017-08-25 11:04:27
阅读次数:
205
22-1 (以广度优先搜索来对图的边进行分类)深度优先搜索将图中的边分类为树边、后向边、前向边和横向边。广度优先搜索也可以用来进行这种分类。具体来说,广度优先搜索将从源结点可以到达的边划分为同样的4种类型。 a.证明在对无向图进行的广度优先搜索中,下面的性质成立: 1.不存在后向边,也不存在前向边。 ...
分类:
编程语言 时间:
2017-08-24 16:17:56
阅读次数:
297