这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:farmer_john:2016_icpc_沈阳站 [2020/10/13 22:24] jjleo [题意] |
2020-2021:teams:farmer_john:2016_icpc_沈阳站 [2020/10/17 16:09] (当前版本) jjleo [H.] |
||
---|---|---|---|
行 41: | 行 41: | ||
[[https://www.cnblogs.com/dilthey/p/9973558.html|参考链接]] | [[https://www.cnblogs.com/dilthey/p/9973558.html|参考链接]] | ||
=====H.===== | =====H.===== | ||
- | **upsolved by ** | + | **upsolved by JJLeo** |
====题意==== | ====题意==== | ||
行 55: | 行 55: | ||
**upsolved by JJLeo** | **upsolved by JJLeo** | ||
====题意==== | ====题意==== | ||
- | 给定一棵节点数为 $n$ 基环树,$q$ 次操作,分为两种:将所有距离点 $x$ 不超过 $d$ 的点加上一个值,或询问所有距离点 $x$ 不超过 $d$ 的点的权值之和。($n, q \le 10^5, d \le 2$) | + | 给定一棵节点数为 $n$ 基环树,$q$ 次操作,分为两种:将所有距离点 $x$ 不超过 $d$ 的点加上一个值,或询问所有距离点 $x$ 不超过 $d$ 的点的权值之和。$(n, q \le 10^5, d \le 2)$ |
====题解==== | ====题解==== | ||
+ | 如果是一棵树,那么对于一个节点,需要考虑的就只有它的父亲,它的爷爷,它的兄弟,它的儿子和它的孙子。考虑对树进行bfs,那么上述的bfs序各自构成一个连续的区间,使用线段树维护即可。 | ||
+ | |||
+ | 本题是基环树,因此需要讨论一波,对于环上的点,考虑对于环上临近的1个或2个点即可,注意去重,以及当 $d=2$ 时且选中点为环上点时,要考虑环上临近点的所有儿子。 | ||
=====记录===== | =====记录===== | ||
=====总结===== | =====总结===== | ||
+ | * ZYF:J题分类讨论完全正确,但是算法完全想错了,$O(n)$ 维护不太可能,太想当然了。 |