Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌。所谓简单环即不经过重复的结点的环。 现在九条可怜手上有一张无自环无重边的无向连通图,但是她觉得这张图中的边数太少了,所以她想要在图上连上一些新的边。同时为了方便的存储这张无 ...
BZOJ 小C的独立集 仙人掌,动态规划 题面 BZOJ 题解 除了普通的动态规划以外,这题还可以用仙人掌的做法来做。 这里没有必要把圆方树给建立出来 Tarjan 的本质其实就是一个构建 dfs 树的过程 所以我们在 Tarjan 的过程中求解就行了 我们设 f i 表示当前节点为 i ,选或不选的子树的最大独立集 当一条边是树边的时候,转移和树上的转移相同。 否则暂时不转移。 当我们做完当前 ...
2018-05-25 20:12 5 738 推荐指数:
Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌。所谓简单环即不经过重复的结点的环。 现在九条可怜手上有一张无自环无重边的无向连通图,但是她觉得这张图中的边数太少了,所以她想要在图上连上一些新的边。同时为了方便的存储这张无 ...
【BZOJ2125】最短路(仙人掌,圆方树) 题面 BZOJ 求仙人掌上两点间的最短路 题解 终于要构建圆方树啦 首先构建出圆方树,因为是仙人掌,和一般图可以稍微的不一样 直接\(tarjan\)缩点,对于每一个强连通分量构建方点(只有一个点的就不要建了) 圆方边的权值定义为到\(dfs ...
考场上感觉是一道可做题,然后最后做法差不多,但是一直卡在 \(dfn\),没去搞 \(bfn\)。 然后今天捡起这道题想了一下就想出来了。 因为没有交题链接,下面的做法不一定正确。(结论经过对拍, ...
$+仙人掌 解题报告: 考虑环上的边,不可能在连边中再被覆盖,所以只需要考虑树边就好了。 ...
学习了一下圆方树。 圆方树是一种可以处理仙人掌的数据结构,具体见这里:http://immortalco.blog.uoj.ac/blog/1955 简单来讲它是这么做的:用tarjan找环,然后对每个环建立一个新点,然后将环上的边删去,并环上的每个点都连到新点上。这样我们就可以把一个环缩成 ...
【参考】 ★仙人掌相关问题的处理方法(未完待续) ★WC2017-immortalCO Making Graph into Trees 【DFS树】 仙人掌图:每条边至多在一个环上的图。 仙人掌图中每个环相当于一个点双连通分量,那么用Tarjan算法处理dfs树。 对于树边(low[y ...
仙人掌&圆方树学习笔记 1、仙人掌 圆方树用来干啥? ——处理仙人掌的问题。 仙人掌是啥? (图片来自于\(BZOJ1023\)) ——也就是任意一条边只会出现在一个环里面。 当然,如果你的图片想看起来舒服一点,也可以把图片变成这样子 (图片来源于网络 ...
如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus)。所谓简单回路就是指在图上不重复经过任何一个顶点的回路。 输入的第一行包括两个整数n和m(1≤n≤50000以及0≤m≤10000)。其中n代表顶点个数,我们约定图中的顶点 ...