摘要: 题面:https://www.luogu.org/problem/P3128 cpp 树上差分裸题,那么在这里再讲一下树上差分: 一、点差分 val[u]++,val[v]++,val[lca(u,v)] ,val[fa[lca(u,v)]] ; 这里是因为要有一条链上包含lca 二、边差分 val 阅读全文
posted @ 2019-10-14 20:13 prestige 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题面:https://www.luogu.org/problem/P4427 cpp 本题设ans[u][i]为1~u的路径上的节点深度的i次方和,这样查询答案时就是ans[u]+ans[v] ans[lca(u,v)] ans[fa[lca(u,v)]] Code: include include 阅读全文
posted @ 2019-10-14 19:11 prestige 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 题面:https://www.luogu.org/problem/P5021 cpp 本题首先看到最小值最大就可以想到二分,即二分一个mid作为答案,设f[u]为以u为根的子树中,不选作赛道的边最大为多少,因为赛道的选定只有两种情况,一是继续连向根的父亲,二是从儿子到根再到儿子,那么f[v]+w = 阅读全文
posted @ 2019-10-14 13:20 prestige 阅读(95) 评论(0) 推荐(0) 编辑