随笔分类 - 点分治
摘要:把权值为 $0$ 的边权值设为 $ 1$ 那么阴阳平衡的路径就是权值和为 $0$ 的路径 考虑点分治统计路径数 如果没有中间点的限制,那么只需要统计每种路径权值出现的个数,相加之和为 $0$ 的路径数用乘法原理统计即可 现在有了中间点的限制,那么就是根到该节点的路径上,出现了一个中间节点,该根到中间
阅读全文
摘要:太菜了太菜了 点分治都不会写了 求一条路径长度不超过 $K$,且价值最大 点分治 遍历重心的每一个子树,得到一个子树之后先将 $(dep,val)$ 进行排序,然后 $dep$ 和 $val$ 必须同时增加,所以就是取 $val$ 的前缀 max 然后得到一个子树排好序的 $(dep, val)$
阅读全文
摘要:【传送门】 FFT第四题! 暑假的时候只会点分,然后合并是暴力合并的...水过去了... 其实两条路径长度的合并就是卷积的过程嘛,每次统计完路径就自卷积一下。 刚开始卷积固定了值域。T了。然后就不偷懒了,每次取最大权值乘二去找值域了。 #include <bits/stdc++.h> const d
阅读全文
摘要:[传送门] 如果只有单组询问就是水题。多组询问就不能直接在线做了。考虑离线。 点分治,把当前重心到未被处理过的子树的距离放进一个数组,按距离从小到大排序。排完序后把这些节点替换成当前前缀权值最大的节点。因为如果到这个节点的距离为$r$,那么小于$r$的也能到达,所以取前缀max没有错。 然后对询问的
阅读全文

浙公网安备 33010602011771号