仙人掌&&圆方树
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
[APIO2018] 铁人两项【圆方树+树形DP】
题目链接 BZOJ 5463 首先,这道题的关键就是在于走环与直接走之间的差别。 很容易发现的是,我们可以通过枚举中间点来进行考虑,如果把这道题放到树上去,也就是原图是一棵树的话,那么很容易就能列写出对应的树形DP,通过维护子结点的size,我们构造起点和终点的可能性。如此,能解决所有的圆点上的问题。 现在的问题,就在于原图中存在环的情况,有环可怎么办呢?譬如说,我们现在取到的中...原创 2020-03-22 14:06:27 · 290 阅读 · 0 评论 -
战略游戏【HYSBZ - 5329】【广义圆方树+虚树】
题目链接 只要在摧毁这个城市之后能够找到某两个小C占领的城市u和v,使得从u出发沿着道路无论如何都不能走到v,那么小Q就能赢下这一局游戏。 所以,我们只需要知道有多少个点是可以作为割点的,那么求割点,并且总的点集还很少,所以就用广义圆方树加上虚树来完成了。 广义圆方树主要就是求点双连通分量,其中,所有的圆点就是可以作为割点的,所以,统计生成虚树上有多少个可以作为割点的点,然后...原创 2020-03-21 20:36:40 · 222 阅读 · 0 评论 -
无归岛【仙人掌图 最大权独立集】
题目链接 BZOJ 1487 在解决这个问题之前,我们可以先了解一下这个问题:仙人掌图的最大独立集。稍有些许差别,不带权值。 好了,回到这个问题上来,那么此题的题意讲的那么繁杂,到底讲的是个什么玩意儿呢? 有N个点,M条边的无向图,每个点都有各自的权值,问最大权独立集。 好了,这样一来这个问题就简单了,圆方树上跑树形DP即可,将原来的“1”变成现在的权值,就是用最大独立集的...原创 2020-03-19 11:08:25 · 388 阅读 · 0 评论 -
最短路【仙人掌圆方树+LCA】
题目链接 BZOJ 2125 将原图首先变成一棵树,这里就是对仙人掌进行圆方树处理,于是接下去就是对新图进行处理了。 比较简单的,就是我们搜到的LCA点是圆点,那么肯定此时的距离就是答案了,如果不是圆点呢?此时的LCA点是方点的话,那么最后的最短距离还不好说,因为存在可能走环的另一头更近的可能性,或者它二者的距离可以更近,这里的话,就是特别处理一下即可,是通过环上原距离,还是环的另外半...原创 2020-03-19 10:39:46 · 188 阅读 · 0 评论 -
小C的独立集【仙人掌圆方树+树形DP 最大独立集】
题目链接 BZOJ 4316 很显然,题目让求的是一个仙人掌图的最大独立集,那么就是用圆方树来弄到树上去做比较的方便。 于是,我们的第一步就是用圆方树来使得原图变成一棵树,于是原来的非环上的点,便变得很好求了,简单的dp[maxN][2]表示这个点选还是不选,选为1,不选为0,这是基础的树形DP的操作了。 接下去呢,就是关于环上的点该如何是好?那么,很容易想到,我们拆出一个点,这...原创 2020-03-19 09:40:10 · 388 阅读 · 1 评论 -
cactus仙人掌图【仙人掌圆方树+树形DP+单调队列】
题目链接 BZOJ 1023 首先,圆方树是比较好想到的,维护直径,我们最方便的做法就是先让它变成一棵树,这里因为是仙人掌图,所以就用圆方树来构建。 再者,就是维护直径了,比较好想到的是非环上结点,就是简单的树形dp就可以维护了。 如果这个点是环上的一个点那又如何是好?那么,环上的两点所构成的最长直径为dp[u] + dp[v] + dis(u, v),"dp[x]"表示x点到它...原创 2020-03-18 13:44:27 · 484 阅读 · 0 评论 -
Fantasia 【HDU - 5739】【广义圆方树】
题目链接 这道题的题意在这里就不展开了,因为这次的英文比较的好读,也没有生词,好懂一些些hh。 然后,这道题的关键点,肯定就是来看这个点是不是一个割点,也就是割去这个点之后就将原来的联通块展开成两个以上联通块,把原来的联通性给断开了,于是,基于这个,我想到的解法就是广义圆方树了。 很明显的,广义圆方树会形成新的方点,我们给新的方点赋值为1,肯定就不会影响到答案了,于是真正影响答案...原创 2020-03-13 22:00:25 · 231 阅读 · 0 评论 -
[SDOI2018]战略游戏【广义圆方树+虚树】
题目链接 P4606 很容易发现一点,题目要我们求的实际上就是我们的新构的树中的,圆点的个数,所以呢,在这里我们可以直接通过先利用广义圆方树来再求一个虚树,我们直接查询虚树就可以完成这个要求了。#include <iostream>#include <cstdio>#include <cmath>#include <string>...原创 2020-02-19 11:28:47 · 340 阅读 · 0 评论 -
[BeiJing2013]压力【广义圆方树+树链剖分】
BZOJ 3331 求每个点被作为割点的次数,于是我们可以用树链剖分直接构树然后区间维护一下即可。 首先,圆方树使得原图变成一棵树,然后就是基础的树上查询问题了,当然,用LCA做树上差分也是可以的。#include <iostream>#include <cstdio>#include <cmath>#include <string...原创 2020-02-18 11:27:58 · 246 阅读 · 0 评论 -
Tourists【广义圆方树+树链剖分+方点的特别优化】
TouristsCodeForces - 487E 题意:有N个点,M条边,有Q次询问,每次有两种询问的方式:C X Y 将X点的权值改变成Y A U V询问从u到v的不经过重复点的路径上的最小点权 所以,看到有环的问题,就是直接往圆方树上套了,直接缩点,然后我们对缩点之后的树进行处理,于是我不经过任何优化的TLE在了第18组。为什么会TLE呢?其实很简单,就是我们需要去给方...原创 2020-02-18 10:44:47 · 362 阅读 · 0 评论 -
道路相遇【一般图的圆方树-广义圆方树】
题目链接 刚开始拿到这道题的时候,先写了Tarjan缩点构树,没过样例,但是先把40分拿到了。 然后再想,就如同样例给出的那样,我们所定义的原点和方点,实际上在Tarjan直接缩点上并不能起到直接体现的作用,所以这里要用到一般图的圆方树模板了,就是一道模板题了,直接上广义圆方树,然后求一个LCA即可。#include <iostream>#include <...原创 2020-02-17 22:33:27 · 238 阅读 · 0 评论 -
Forest Program【2019CCPC 秦皇岛 F】【点双联通分量】
HDU 6736Problem DescriptionThe kingdom of Z is fighting against desertification these years since there are plenty of deserts in its wide and huge territory. The deserts are too arid to have rainf...原创 2019-10-09 20:25:37 · 286 阅读 · 0 评论 -
仙人掌与圆方树的学习 【模板】静态仙人掌
题目链接 BZOJ 2125 最短路 圆方树 求一幅仙人掌图中,Q次询问两点最短路。 仙人掌问题,我们可以直接将原来的N个点缩点成为一棵生成树——圆方树。 这棵圆方树是怎样建立的呢,首先,我们看图:这个是原图;这个是缩点之后的圆方树。 那么,两点之间的距离不就是可以通过LCA来求解了吗?但是这里有个问题,就是我们在求解LCA的时候,也是最关键的一点就是在于,...原创 2019-10-08 20:22:02 · 299 阅读 · 0 评论