Bzoj 4390 [Usaco2015 dec]Max Flow
Description:
\(\qquad\)给定一棵有N个点的树,所有节点的权值都为0。
\(\qquad\)有K次操作,每次指定两个点s,t,将s到t路径上所有点的权值都加一。
\(\qquad\)请输出K次操作完毕后权值最大的那个点的权值。
Solution:
\(\qquad\)sb题啦。选手可自由使用树链剖分,点分治,LCT等高级算法艹过其实就是一个树上差分。
\(\qquad\)你只需要查找lca(s,t),然后在lca(s,t)的位置上差分一个-1,并分别在s,t的位置上差分一个1,那么最后每个点的权值则是以这个点为根的子树的差分值之和。