随笔分类 -  图论-圆方树

摘要:题目链接 "CF487E" 题解 圆方树 + 树剖 裸题 建好圆方树维护路径上最小值即可 方点的值为其儿子的最小值,这个用堆维护 为什么只维护儿子?因为这样修改点的时候就只需要修改其父亲的堆 这样充分利用了一对一的特性优化了复杂度 如此询问时如果lca为方点,再询问一下lca的父亲即可 复杂 阅读全文
posted @ 2018-06-20 11:43 Mychael 阅读(163) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4606" 双倍经验: "弱化版" 题解 两点之间必经的点就是圆方树上两点之间的圆点 所以只需建出圆方树 每次询问建出虚树,统计一下虚树边上有多少圆点即可 还要讨论一下经不经过根1的情况 P4606 cpp include include include include inc 阅读全文
posted @ 2018-06-18 11:53 Mychael 阅读(236) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4630" 题解 看了一下部分分,觉得树的部分很可做,就相当于求一个点对路径长之和的东西,考虑一下能不能转化到一般图来? 一般图要转为树,就使用圆方树呗 思考一下发现,两点之间经过的点双,点双内所有点一定都可以作为中介点 那么我们将方点赋值为点双大小,为了去重,剩余点赋值1 阅读全文
posted @ 2018-06-16 11:34 Mychael 阅读(175) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示