启发式合并
Aaplloo
天天都想摆
展开
-
树上启发式合并(DSU on Tree) Study
前言 话说很多树上启发式合并的题都可以用线段树合并来实现。 然而对于一些题目还是得用树上启发式合并做,所以要学习一下的。 讲解 对于一个节点做树dp,我们先跑完轻儿子,然后跑重儿子后,父节点就可以承载这个重儿子,所以每次都只用重新跑轻儿子即可。那么时间复杂度就是O(nlogn)O(nlogn)O(nlogn)的。 ...原创 2020-06-04 16:52:55 · 188 阅读 · 0 评论 -
[启发式合并] Treediff
是一道简单的启发式合并,用 setsetset 维护即可。 set<LL> S[MAXN]; set<LL>::iterator item, temp, ppl; void Dfs(LL x,LL Fa) { int l = G[x].size(); if (! l) { S[x].insert( Val[x] ); return ; } for (Int i = 0; i < l; ++ i) { LL to = G[x][i]; Dfs(to,原创 2020-05-29 12:19:44 · 177 阅读 · 0 评论