树上启发式合并
树上启发式合并
linbinwu123
peaceful life is enough
展开
-
CF208E - Blood Cousins 树上启发式合并
CF208E - Blood Cousins 树上启发式合并学习笔记 题意 NNN个点的森林,MMM次询问,每次求viv_ivi有多少个点有pip_ipi级公共祖先 分析 转化题意:找到询问点vvv的kkk级祖先uuu,然后找到uuu的子树下面与点uuu深度差为kkk的点有多少 那么维护的子树信息就是,cnt[i]cnt[i]cnt[i]为深度为iii的节点个数 然后我们查询问答案就是cnt[...原创 2020-03-01 15:06:02 · 240 阅读 · 0 评论 -
Sgu507 - Treediff 树上启发式合并
Sgu507 - Treediff 树上启发式合并学习笔记 题意 NNN个点以1为根的树,其中MMM个点为叶节点,只有叶节点有权值aia_iai 现在求每一个非叶节点的子树中,任意两个叶节点的权值差的绝对值最小是多少(如果不存在输出231−12^{31}-1231−1 分析 我们需要维护的信息是,子树中每一个叶节点的权值 当我们新加入一个叶节点的值valvalval的时候,我们只需要找小于val...原创 2020-03-01 14:37:39 · 638 阅读 · 0 评论 -
树上启发式合并——学习笔记
600E - Lomsat gelral原创 2020-03-01 14:27:04 · 393 阅读 · 0 评论 -
HackerEarth - The Grass Type 树上启发式合并
HackerEarth - The Grass Type 题意 NNN个点以111为根的树,每个节点有一个权值AiA_iAi,现在查询有多少个点对(u,v)(u,v)(u,v),使得Alca(u,v)=Au∗AvA_{lca(u,v)}=A_u * A_vAlca(u,v)=Au∗Av,其中lca(u,v)lca(u,v)lca(u,v)为点uuu和点vvv的最近公共祖先 分析 这里的lc...原创 2020-03-01 14:14:30 · 261 阅读 · 0 评论 -
CF570D - Tree Requests 树上启发式合并
CF570D - Tree Requests 题意 NNN个点以111为根的树,每个节点都有对应的字母s[i]s[i]s[i],MMM次查询,每次判断以uiu_iui为根的子树中,深度为hih_ihi的节点能否组成一个回文串(字母顺序可以任意改变),如果能输出Yes,否则输出No 分析 树上启发式合并入门题,查询的子树信息就是对应高度都有什么字母 因为这里节点的顺序能够改变,所以构成回文串只需...原创 2020-03-01 13:23:39 · 311 阅读 · 0 评论