摘要: 相关链接: "国家集训队论文2009: 漆子超《分治算法在树的路径问题中的应用》" 点分治: 首先选取一个点将无根树转为有根树,再递归处理每一颗以根结点的儿子为根的子树。 "[POJ1741]Tree" "[SPOJ1825]FTOUR2" 边分治: 在树中选取一条边,将原树分成两棵不相交的树,递归 阅读全文
posted @ 2019-06-09 13:48 蒟蒻SLS 阅读(189) 评论(0) 推荐(1) 编辑
摘要: 这题是可以点分治或LCT作的。。但这里讲边分治的做法。。 和点分治类似,边分治利用一条树上路径要吗经过一条边,要么不经过。而不经过的路径必然会在一次分治中变为经过的。 我们找到一条中心边,边左边和边右边分别建一个大根堆。左边的堆中存储边的左子树中白点的深度,右边的堆储存右边的。 当发生颜色反转时,若 阅读全文
posted @ 2019-06-09 01:02 蒟蒻SLS 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 这题可能是QZC论文中最板子的题了。。 我们只需要把边权记在比边深的点上,然后便就是树链剖分的板子了。。 由于题目卡语言。。以下代码需要转C才能过。。 cpp include using namespace std; const int N = 10005; int dep[N],siz[N],fa 阅读全文
posted @ 2019-06-09 00:11 蒟蒻SLS 阅读(121) 评论(0) 推荐(0) 编辑