前言:
听说圆方树在竞赛中的应用越来越多,于是在认真听了jz大佬的讲课后写了此篇文章。
圆方树:
圆方树是用来解决仙人掌树的一种数据结构,可以把仙人掌树转化成一棵较普通树,然后运用以前树的性质和自己动脑思考来解决题目。
//广义圆方树听说可以做图的情况
构造方法:
利用tarjan算法,找出一棵仙人掌树的环上的点(成为圆点),把一个环上的圆点各连出一条边到新的方点上(自建)。然后圆点之间的边全部都删掉。such as:
这样看起来是不是就很像圆方树了(有园的点也有方的点,他还是一棵树)。
具有的性质:
1.他是一棵无根树,不管用哪个点为根,他的形态是一样的。
2.圆方树的子树个数就是原来仙人掌树的仙人掌的个数。
3.方点不会和方点连接。
//好像没什么用
应用:
最短路
动态规划 :仙人掌的直径,最大独立子集。
虚仙人掌(不会)
点分治(不会)
链剖分(不会)