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,那么最后每个点的权值则是以这个点为根的子树的差分值之和。

posted @ 2018-10-28 21:10  Alseo_Roplyer  阅读(76)  评论(0编辑  收藏  举报