快乐的一天从AC开始 | 20210726 | P3320

题目链接

台风还是有点猛,就算打车,感觉还是被风吹傻逼了

不过今天因为台风提早下班了,还是有点舒服的

之前实验代码提交到开发分支了,revert的时候还把同事的代码搞没了,幸好还有记录可以恢复,而且没被打包发出去,不然就出大问题了(虽然同事还是修了好久才搞好,以后push的时候一定要仔细看target和diff

心路历程

自习观察

思路

可以看出给的图是一棵树。

其实答案就是关键点的极小连通子图边权值和的两倍。

然后发现按照关键点的DFS序排成一个环,然后每两个相邻点之间的最短路径长度和就是答案。画个图应该就能理解了。

然后插入类似于链表的插入,删去原有的相邻关系再加入两个新的相邻关系。删除就反着来。

然后用set可以维护节点的先后顺序并\(O(\log n)\)求出前驱和后继。

然后树上两点之间的最短路径可以借助LCA做到\(O(\log n)\)

posted @ 2021-07-25 22:42  _Backl1ght  阅读(25)  评论(0编辑  收藏  举报