摘要: 这是一道树链剖分/树上差分/LCA的题目…… 本来想打一遍树剖,但是被那强大的码量劝退了,于是我开始思考树上差分。 我们先把每个点深度的k次方打一个表,之后我们因为要做减法,所以我们令vali,k​表示i到1号点路径上点深度的k次方之和 然后问题来了,我们维护的是点权和,所以我们发现直接减的话会导致 阅读全文
posted @ 2019-05-03 15:40 AD_shl 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 这道题说每一步可以走2k个距离,那么这道题就直接和倍增建立了联系。 由于n的范围很小,我们可以用Floyd处理边的关系,定义vis[i][j][k]表示ij之间是否存在2k的路径,dis[i][j]表示ij之间的最短距离是多少。 我们可以先进行一次Floyd处理vis,枚举ij以及中间点k,若vis 阅读全文
posted @ 2019-05-03 14:36 AD_shl 阅读(119) 评论(0) 推荐(0) 编辑