摘要: Problem 有效集合 题目大意 给出一棵树,求出这棵树的不同联通子节点集合的数量,这些集合必须满足最大权值点减最小权值点小于等于d。 Solution 再一次树d乱搞。 因为数据范围贼小,所以我们对于每一个点为根的情况进行一次dfs. 对于以节点root为根的情况,我们认为root是最小值。 对 阅读全文
posted @ 2017-07-09 22:10 skylynf 阅读(539) 评论(0) 推荐(0) 编辑
摘要: Problem Distance in tree 题目大意 给出一棵树,求这棵树上有多少个最短距离为k的点对。 Solution 这个题目可以用点分治来做,然而我到现在还是没有学会点分治,所以只好用树形dp了。 这个题目,我们可以将其转化为一个个子树中搞事情,再慢慢合并。 设f[i][j]为以i为根 阅读全文
posted @ 2017-07-09 20:16 skylynf 阅读(512) 评论(0) 推荐(0) 编辑
摘要: Problem 邪恶古籍 题目大意 给出一些关键点,求这棵树上到最远关键点距离小于等于d的有多少个。 Solution 一个非常简单的树形dp。然而我被这道题给玩坏了。 在经过分析以后,我们发现只需要维护两个数组, 一个数组记录这个点的上面的最远关键点(父亲那一串)到这个点的距离; 另一个数组记录这 阅读全文
posted @ 2017-07-09 16:09 skylynf 阅读(2727) 评论(1) 推荐(0) 编辑
摘要: Problem Puzzles 题目大意 给一棵树,dfs时随机等概率选择走子树,求期望时间戳。 Solution 一个非常简单的树形dp?期望dp。推导出来转移式就非常简单了。 在经过分析以后,我们发现期望时间戳其实只需要考虑自己父亲下来(步数加一)&从兄弟回来两种可能。 设size[i]为i节点 阅读全文
posted @ 2017-07-09 10:26 skylynf 阅读(297) 评论(1) 推荐(0) 编辑
摘要: Problem Kth Number Solution 裸的主席树,模板题。但是求k大的时候需要非常注意,很多容易写错的地方。卡了好久。写到最后还给我来个卡空间。 具体做法参见主席树论文《可持久化数据结构研究》。 AC Code 阅读全文
posted @ 2017-07-09 08:37 skylynf 阅读(224) 评论(0) 推荐(0) 编辑
摘要: Problem 普通平衡树 Solution 本题是裸的二叉平衡树。有很多种方法可以实现。这里打的是替罪羊树模板。 此题极其恶心。 前驱后继模块需要利用到rank模块来换一种思路求。 很多细节的地方容易炸。我拿数据调了很久才A。 (delt()删除模块其实是不需要重建的,不影响时间复杂度) 替罪羊树 阅读全文
posted @ 2017-07-09 08:34 skylynf 阅读(611) 评论(0) 推荐(0) 编辑