"题目链接 BZOJ1468" "POJ1741" 题意: 计算树上距离v路径权值)。 这样x的答案就计算完了,将这一过程记作Solve(x)。 考虑如何计算所有点。DFS的效率是和树深有关的。计算x v时,我们选取v子树上的重心作为下次Solve()的参数。 选取重心每次都会使树的节点个数减半,因 ...
分类:
其他好文 时间:
2018-03-17 12:07:57
阅读次数:
163
开头致敬原文:http://codeforces.com/blog/entry/44351 dsu on tree 是一个很神奇的技术,可以替代启发式合并、点分治,可以处理无修改的子树询问问题,可以处理任何乱搞的询问,是“树上的莫队”。 一、什么是dsu on tree 从一个例题看起:现在有一个树 ...
分类:
其他好文 时间:
2018-03-16 23:46:22
阅读次数:
281
题链: http://poj.org/problem?id=1741题解: 树上点分治。 入门题,不多说了。 代码: ...
分类:
其他好文 时间:
2018-03-10 22:10:10
阅读次数:
195
4012: [HNOI2015]开店 Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学。最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱。这样的 想法当然非常好啦,但是她们也发现她们面临着一个问题,那就是店开在哪里,面 向什么样的人群。很神 ...
分类:
其他好文 时间:
2018-03-10 20:29:07
阅读次数:
174
poj 1741 Tree(树的点分治) 给出一个n个结点的树和一个整数k,问有多少个距离不超过k的点对。 首先对于一个树中的点对,要么经过根结点,要么不经过。所以我们可以把经过根节点的符合点对统计出来。接着对于每一个子树再次运算。如果不用点分治的技巧,时间复杂度可能退化成$O(n^2)$(链)。如 ...
分类:
其他好文 时间:
2018-03-07 20:18:06
阅读次数:
181
这是一道交互题 题目大意 有一棵$n$个点的树。最开始$1$号点是白的,其他点是黑的。 每次你可以执行一个操作:$explore(x,y)$。要求$x$是一个白点。该函数会返回从$x$到$y$的路径上第二个点的坐标并把该点染白。 要求你把所有点都染成白色。 设操作次数为$t$。 对于$30\%$的数 ...
分类:
其他好文 时间:
2018-03-06 17:14:50
阅读次数:
393
传送门 传送中的动态点分治。 就是在点分治的同时把分治树建立出来,然后每个节点用数据结构维护节点内的内容。 这道题用了三个set,(貌似也可以用6个堆,每个set用一个ins堆和一个del堆来代替),一个维护当前rt的答案,就是当前点作为这一块联通块的根时往下能到达黑点的长度。一个维护当前rt对于它 ...
分类:
其他好文 时间:
2018-03-05 23:29:55
阅读次数:
215
题目描述 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和别人打仗了。 在打仗之前,幽香现在面临一个非常基本的管理问题需要解决。 整个地图是一个树结构,一共有n块空 ...
分类:
其他好文 时间:
2018-03-04 21:15:31
阅读次数:
189
学习动态点分治之前要先弄清楚点分治的原理,二者的应用范围的不同就在于动态的支持在线修改操作,而实现的不同就在于动态点分治要建点分树。 OI中有很多树上统计问题,这类问题往往都有一个比较容易实现的暴力做法,而用高级数据结构维护信息有显得过于复杂,有没有一种“优美的暴力”,能既保证思维的简单性,又有更高 ...
分类:
其他好文 时间:
2018-03-04 21:13:40
阅读次数:
174
我感觉是很强的一道题……即使我在刷专题,即使我知道这题是fft+点分治,我仍然做不出来……可能是知道是fft+点分治限制了我的思路???(别做梦了,再怎样也想不出来的……)我做这道题的话,一看就想单独算每个点的贡献,一开始想算每个点深度的期望,后来又想算每个点的点分树子树大小的期望,再后来就想利用点 ...
分类:
其他好文 时间:
2018-02-28 22:55:00
阅读次数:
215