看一个简单的问题: 对于一棵树,一开始权值都为0,有K个操作,每次操作对应一组(x,y),将x到y路径上的节点权值+1,最后问节点最大权值。 对于每个节点,记一个差分数组f【】,每次操作将f【x】、f【y】加1,将f【LCA】和f【LCA的父亲】减1,最后每个数的权值等于子树内f数组的和。取个max即可。是不是很简单~~~
例题 代码