P4606 [SDOI2018]战略游戏
P4606 [SDOI2018]战略游戏
一个感觉比较新颖的题目,搞了一周
题目大意:
给定一个图,q组询问,每组给定k个点,求图上有几个点,删去后能使这k个点不连通
题解:
首先考虑删掉的点一定为割点,然后本题极像虚树,就可以考虑建圆方树
然后,圆方树上的圆点,在两点路径上的,即为所求
于是乎把k个点拎出来,加上两两间的点,构成的树,求圆点个数,即为所求
然后虚树,嗯...
还可以考虑一种简单的实现方法
如果我们求上面“把k个点拎出来,加上两两间的点,构成的树”的路径长,可以用k个点按dfs序排序后,两两相邻和首尾两个的路径和,除以二,即为所求(可以考虑画图证明)
然后就是把点权转边权,解决方法也很经典把点权变成父边的边权,然后统计后加上首尾两个的lca(即为那树的根节点),就完成了

浙公网安备 33010602011771号