P4606 [SDOI2018]战略游戏

P4606 [SDOI2018]战略游戏

一个感觉比较新颖的题目,搞了一周

题目大意:

给定一个图,q组询问,每组给定k个点,求图上有几个点,删去后能使这k个点不连通

题解:

首先考虑删掉的点一定为割点,然后本题极像虚树,就可以考虑建圆方树

然后,圆方树上的圆点,在两点路径上的,即为所求

于是乎把k个点拎出来,加上两两间的点,构成的树,求圆点个数,即为所求

然后虚树,嗯...

还可以考虑一种简单的实现方法

如果我们求上面“把k个点拎出来,加上两两间的点,构成的树”的路径长,可以用k个点按dfs序排序后,两两相邻和首尾两个的路径和,除以二,即为所求(可以考虑画图证明)

然后就是把点权转边权,解决方法也很经典把点权变成父边的边权,然后统计后加上首尾两个的lca(即为那树的根节点),就完成了

posted @   zhy_learn  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示