题意:给一棵树,只有点权无边权, ,每次询问求以一个点为中心,半径为k的全职和。 考虑动态树分治。我们对于每个点(点分树)维护两个树状数组。两个树状数组都以距离为下标,权值为内容。第一个树状数组维护子树中距离该点为k的权值和,第二个维护距离该点父亲距离为k的权值和。这样改权值时我们暴力爬树高 ...
题面 BZOJ 题解 动态点分治什么的完全不记得了。这回重新写一写。 首先我们把点分树给建出来。 操作只有两种,修改和询问距离某个点的距离不超过 k 的点的和。 两点之间的距离可以树链剖分之类的算,这里不再重复。 考虑如何计算答案。 对于每个点,把对于它的点分树上所有祖先的贡献给加好。 因为要方便区间求和,所以利用动态开点线段树实现。 假设当前点距离点分树上某祖先的距离为 dis ,那么就把这个祖 ...
2018-07-14 14:47 0 895 推荐指数:
题意:给一棵树,只有点权无边权, ,每次询问求以一个点为中心,半径为k的全职和。 考虑动态树分治。我们对于每个点(点分树)维护两个树状数组。两个树状数组都以距离为下标,权值为内容。第一个树状数组维护子树中距离该点为k的权值和,第二个维护距离该点父亲距离为k的权值和。这样改权值时我们暴力爬树高 ...
动态点分治 学习笔记 总:个人感觉动态点分和点分几乎不是一个难度的啊~。动态点分的题更好,也更难,不像我做的那几道点分那么无聊。 当然,动态点分治从题型上来看就是本来一个静态很好求的东西它一会改个点权什么的。于是它就动态了。 说到底动态点分治还是和点分治还是有一定的联系的。至于我 ...
点分治 学习笔记 总:点分治是处理树上问题的一个比较好用的工具,时间复杂度是$O(nlogn)$级别的,非常优秀。其实感觉非常的暴力,但是它还跑得很快。。。 点分标准函数: $find-rt(int\;x,int\;fa)$:用于寻找在$x$所在的子树中的重心 $work(int ...
捉迷藏 Time Limit: 40 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 捉迷藏 J ...
这种动态点分治嘛,GDKOI时听打到了,也有同学讲到了,所以印象比较深刻也就想出来了,然后就在实现方面卡了好久= = 不得不说CLJ说得真的太简单了,实现方面根本没提。 首先我们可以先用树分治构建出这棵树的分治树,也就是把这棵树的重心作为根节点然后子树为他的子树的重心这样递归下去,然后每个节点 ...
动态点分治浅谈 一、前置知识 在学习动态点分治之前要会点分治,或者会点分治的思想,这里有我对点分治讲解:链接。其次,学习动态点分治还需要会一些单步容斥的思想。 二、浅谈 我们考虑一个用点分治能做的题目的特性:这个题目不能修改。那么对于要进行修改的树上问题,我们可以考虑动态点分治 ...
参考链接(历史最长 雾): http://www.cnblogs.com/New-Godess/p/4420824.html http://blog.csdn.net/liuguangzhe19 ...
(写篇博客证明自己还活着×2) 转载请注明原文地址:http://www.cnblogs.com/LadyLex/p/8006488.html 有的时候,我们会发现这样一类题:它长得很像一个$O(n)$的树规, 但是却很难用单独的数组维护对应的信息,这样我们就有了淀粉质点分治。 通过直接 ...