摘要: 题意: 给出一棵树,两种操作: 1.求出a到b的距离; 2.修改某一条边的权值。 思路: 可以用树链刨分(我不会 首先,求a到b的距离,因为有很多组询问,所以必须得用lca解决 ans = dis[a] + dis[b] - 2 * dis[lca(a,b)] dis是这个点到根的距离 修改某一条边 阅读全文
posted @ 2018-06-12 14:58 qrfkickit 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 树状数组最原始的作用就是求前缀和,可以实现单点修改和区间查询。 但是假设现在有: 1.区间修改,单点查询 2.区间修改,区间查询 但是又不想敲线段树怎么办? 就用树状数组喽。 假设现在有一个原数组a(假设a[0] = 0),有一个数组d,d[i] = a[i] - a[i-1],那么 a[i] = 阅读全文
posted @ 2018-06-12 11:22 qrfkickit 阅读(4238) 评论(4) 推荐(3) 编辑