摘要:
感觉长脑子了。 考虑在路线两端点的 \(lca\) 计算贡献,那么线段可以分两类: \(u\) 为 \(v\) 祖先。 \(u,v\) 互不为祖先。 设 \(dp_i\) 表示只考虑 \(i\) 子树内的路线时的答案。 引理:若插入一条以 \(i\) 为 \(lca\) 的路径会使以 \(i\) 的 阅读全文
posted @ 2024-12-20 22:04
长安一片月_22
阅读(20)
评论(0)
推荐(0)
摘要:
随机化好题,但是不会证。 考虑把树看成一条链,链的每个点上缀了一棵树。 那么先随机出两个点 \(x,y\)(实际上随机一个点,另一个点固定似乎更好?),然后对于当前这棵树上的任意点 \(z\),都让他进行一次询问,答案为 \(o=Q(x,y,z)\)。 那么当 \(o=z\) 时,显然 \(z\) 阅读全文
posted @ 2024-12-20 15:56
长安一片月_22
阅读(21)
评论(0)
推荐(0)
摘要:
绝对好题。 考虑每个点插入的次数必须为 \(\log n\) 级别的,而且还要再小。考虑重链剖分。当然,首先要询问出所有点的深度,并且按深度从小到大依次插入。 每次选择当前重链的链尾,若链尾深度为 \(dep\),询问返回值为 \(dp\),目标父亲深度为 \(d\),则在这条重链上深度为 \(d- 阅读全文
posted @ 2024-12-20 15:41
长安一片月_22
阅读(14)
评论(0)
推荐(0)
摘要:
首先 \(S(u)\) 显然是 \(u\) 的子树。 假如 \(u\) 是定点,问题转化为区间求平方和,十分简单。 于是我们用线段树维护区间平方和,支持区间加,然后离线问题,在 \(u\) 的位置处理即可。线段树从 \(fa\) 转移到 \(u\) 是极度简单的。 时间复杂度 \(O(n\log n 阅读全文
posted @ 2024-12-20 11:01
长安一片月_22
阅读(13)
评论(0)
推荐(0)
摘要:
第一道函数交互 \(+\ luogu\) 最劣解,这不得发篇博客鼓励一下。 引理 \(1\):若 \(p_{i,j}>0,p_{i,k}>0,p_{j,k}=0(i\ne j\ne k)\),则不合法。 正确性显然。 引理 \(2\):若 \(p_{i,j}=3\),则不合法。 证明:设三条路径为 阅读全文
posted @ 2024-12-20 08:53
长安一片月_22
阅读(15)
评论(0)
推荐(0)

浙公网安备 33010602011771号