分治
Kalzn
qdu-打不到名额的菜鸡一枚
展开
-
点分树(动态点分治)
前置知识点分治吐槽不知道为什么,网上有关点分树的讲解不多。而且都写的很简单(快哭了)。憨批实在是不懂。于是只能按照他们所给的思想手撸代码了。讲解我们在点分治中,使用了分治的思想,对于每个子树求解,我们都不会直接递归,而是找到重心后,从重心开始递归。这样在一些极端样例(一条链)的情况,仍能保证O(nlogn)O(nlogn)O(nlogn)不会退化为O(n2)O(n^2)O(n2)。这是一个很神奇的分治方式。这时我们试想这么一道题目:给你一颗n个节点树(n<1e5),给你m次询问(m<原创 2020-09-26 10:30:55 · 1178 阅读 · 5 评论 -
点分治学习/模板(5道例题)
感谢b站up大佬:不分解的AgOH。点分治用于树上的大规模路径操作、统计。它的灵活性高,适用范围广。很多树形dp也可以用点分治搞。其实,树分治中,还有一个边分治,不过没有点分治常用。基本步骤:第一步找树的重心。我们重心为根节点,然后按题目的不同情况统计树各个点到根节点的路径信息。第二步递归至每一个子树,重复第一步,直到分割至叶子节点。非常简洁。下面看一看具体的实现:找重心函数:...原创 2019-10-01 20:35:47 · 740 阅读 · 2 评论