随笔分类 -  数据结构_虚树

摘要:"题目链接" 问题分析 首先观察数据范围可以知道要用虚树。但是要考虑怎么维护原树的距离信息。 如果只有两个关键点,我们可以很方便地找到中点将整棵树划分为两部分。而如果有多个关键点,看起来有效的方法就是多源的BFS。而虚树上边的长度不相同,分割点又不一定在虚树上,所以这个方法并不那么适用。 考虑到虚树 阅读全文
posted @ 2019-09-30 11:40 chy_2003 阅读(121) 评论(0) 推荐(0)
摘要:"题目链接" 问题分析 首先看数据范围不难发现是虚树。 但是这个DP怎么写的我这么难受…… 应该是不难的DP,$F[i][0]$表示$i$不占领,$F[i][1]$表示$i$占领,然后分类讨论……具体的见代码吧…… 参考程序 阅读全文
posted @ 2019-09-29 16:40 chy_2003 阅读(121) 评论(0) 推荐(0)
摘要:问题分析 首先不难想到是虚树。建完虚树需要保持节点间原先的距离关系。 然后总距离和最小距离用树形DP求,最大距离用两遍dfs即可。注意统计的时候只对关键点进行统计。 ~~真是麻烦~~ 参考程序 ~~ac的时候是loj上速度最后一页,代码第四长的……~~ c include using namespa 阅读全文
posted @ 2019-09-28 23:21 chy_2003 阅读(116) 评论(0) 推荐(0)
摘要:"题目链接" 问题分析 显然是虚树题。由于$\sum k\leqslant 500000$,所以直接套个虚树就好了。时间~~经过实践是可以的~~。 参考代码 阅读全文
posted @ 2019-09-26 20:28 chy_2003 阅读(173) 评论(0) 推荐(0)