摘要:
思路 树剖板子 题目中要实现两种操作: 给一个点打上 1 的标记; 找他第一个打上标记 1 的祖先。 考虑第一种操作怎么做,十分简单,直接把一个点的标记修改为 1 就可以,简单明了。 对于第二种操作,可以用树剖将树剖成一条条链,然后开一棵线段树,每次查询区间中编号最大的标记为 1 的点。 真是水题 阅读全文
posted @ 2025-05-13 22:32
GuoSN0410
阅读(1)
评论(0)
推荐(0)
摘要:
思路 对于 \(u, v\) 路径上的最大利润有三种情况: \(u->lca(u,v)\) 上买卖; \(lca(u,v)->v\) 上买卖; 跨过 \(lca(u,v)\) 进行买卖; 我们可以用树上倍增进行维护。设 up 数组维护第一种买卖,down 数组维护第二种买卖,maxx 维护路径最大值 阅读全文
posted @ 2025-05-13 14:39
GuoSN0410
阅读(1)
评论(0)
推荐(0)
摘要:
类型 树上差分,一般是用来解决路径修改,单点查询的问题。一般有两种类型: 对边权进行修改 对点权进行修改 对于第一种类型可以将每个边权转移到其对应的儿子上,进而转化为第二种类型。 每一个点记录的是他的权值与所有儿子权值和的差,即: \[x_u=w_u-\sum w_{son_u} \]最后查询每个点 阅读全文
posted @ 2025-05-13 14:14
GuoSN0410
阅读(1)
评论(0)
推荐(0)