下面有一张图,来自 WC 的 PPT,显示了一张图对应的点双和圆方树形态。
-![](https://img2018.cnblogs.com/blog/1126418/201907/1126418-20190711015718548-2063534813.png)
+![](./images/block-forest-1.png)
圆方树的点数小于 $2n$,这是因为割点的数量小于 $n$,所以请注意各种数组大小要开两倍。
`low[u]` 存储的是节点 $u$ 的 DFS 树中的子树中的某个点 $v$ 通过**最多一次返祖边或向父亲的树边**能访问到的点的**最小** DFS 序。
如果没有听说过 Tarjan 算法可能会有点难理解,让我们举个例子吧:
-![](https://img2018.cnblogs.com/blog/1126418/201907/1126418-20190711015811893-1608964974.png)
+![](./images/block-forest-2.png)
(可以发现这张图其实和上面图片中的图等价)
这里树边从上至下用直线画出,返祖边从下至上用曲线画出。节点的编号便是它的 DFS 序。
这个例子对应的图(包含了重边和孤立点的情况):
-![](https://img2018.cnblogs.com/blog/1126418/201907/1126418-20190711015830778-101332191.png)
+![](./images/block-forest-3.png)
## 例题
```
顺带一提,刚刚的测试用例在这题的答案是 $212$。
-
+
## 外部链接
## 参考资料与注释
-[^ref1]:2017 年陈俊锟同学在他的 IOI2017 中国国家集训队论文《〈神奇的子图〉命题报告及其拓展》中定义并命名了圆方树这一结构。
+[^ref1]: 2017 年陈俊锟同学在他的 IOI2017 中国国家集训队论文《〈神奇的子图〉命题报告及其拓展》中定义并命名了圆方树这一结构。