世界树

看了一下题解里面的方法,好像跟我一样的就只有一个

然而按照那篇题解的描述:乱七八糟的细节比较少,其实还是很多啊。。。这题的代码的话,有空就写一下吧

来讲一下做法,先建虚树,然后考虑每一条虚树边

同理,虚树边的两个端点在原树上一条路径,我们画出来

红色点是虚树上的两个端点

那么考虑这些黑色点,以及这些黑色点不在虚树上的子树(也就是图中伸出去的树枝),这些点肯定都要先走到这一条虚树边上面来在考虑怎么走

此时我们就发现,就要考虑是往下面走还是往上面走了,我们预处理出两个红色的点到关键点最近的距离,然后在这一条边上找出一个分界点,满足这个分界点下面的点往下面走到达一个最近的关键点,上面的往上面走到达一个最近的关键点,然后统计一下答案就好了

但是看起来就很难写啊!

posted @ 2024-02-20 12:37  最爱丁珰  阅读(2)  评论(0编辑  收藏  举报