随笔分类 - 树上问题—动态点分治
摘要:动态点分治好题 首先我们考虑一个暴力做法: 每次修改之后选一个点作为根搜索整棵树,然后换根dp即可 考虑每次换根时,移向的点的消耗会减少子树代价之和*边权,而其余部分代价会增加剩余代价*边权 这样每次换根都是的,总时间复杂度,可以通过...20分! 贴代码: 然后我们考虑正
阅读全文
摘要:首先仍然是点对之间的问题,让我们考虑点分 由于带修改,所以考虑动态点分治 所谓动态点分治,就是在操作之前先模拟一遍点分治的过程构造出一棵新的树,我们称这棵树为点分树,由于这棵树树高是对数级别的,所以修改的时候可以在一条树链上暴力修改 然后考虑本题怎么维护: 首先我们考虑答案如何统计:在统计答案时,我
阅读全文
摘要:和上一题很像,而且这题直接给出了单点修改和区间查询,所以还是两棵线段树容斥即可
阅读全文
摘要:动态点分治裸题 首先介绍一下动态点分治:就是带修改操作的点分治(废话) 操作涉及单点查询和区间修改 那么首先应该想到线段树 但是怎么操作呢? 首先,修改一个点时的影响范围可以分为上下两部分:一部分在自己的子树内,另一部分通过自己的父节点传上去或传到其他子树内 那么为了使这种操作复杂度尽可能低,我们用
阅读全文