![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树上问题
文章平均质量分 52
Robin_w2321
这个作者很懒,什么都没留下…
展开
-
P2597 [ZJOI2012]灾难(拓扑、LCA)
题目链接 题目简述 给你食物链中所有生物的食物(有向无环图DAG),现在问,如果每个生物i消失了会有多少生物也随之消失。 思路 我们很容易想到拓扑,确实纯拓扑也可以做(注意:最开始是单个生物入队,不是入度为零的入队),但是会超时。 我们可以深入思考一下,注意到如果要使一种生物灭亡,那么一定要他的食物都灭亡,也就是说,某生物的食物都灭亡 推出 该生物灭亡,于是我们可以构建一棵树,这棵树中的父亲节点灭亡了,那么他的儿子节点都会灭亡。所以结果就是某节点的子树大小。 代码 #include<cstdio&原创 2021-01-12 17:14:11 · 145 阅读 · 0 评论 -
倍增求LCA应用小结
一、基础应用 求两点的lca(废话)。P3379 【模板】最近公共祖先(LCA) 求两点间的距离dis=d[x]+d[y]-d[lca(x,y)]*2(其中d为节点的深度)。ybt1552:【例 1】点的距离 求点访问次数,点差分。P3258 [JLOI2014]松鼠的新家 求边访问次数,边差分。P6869 [COCI2019-2020#5] Putovanje 二、拓展应用 求lca为p的路径条数,找规律的数学题。(貌似与lca无关)P5002 专心OI - 找祖先 求路径异或和,搜索。(貌似也与l原创 2021-01-02 16:58:39 · 186 阅读 · 1 评论