树上差分
QAQwdd
这个作者很懒,什么都没留下…
展开
-
NOIP2015 运输计划 LCA+树上差分+二分
题目大意:给定一棵树,再给定k条路径,求把一条边权改为0后使这些路径的最长距离最小。 题解:首先可以想到用二分(谁说想得到的!!!),在枚举出来的长度mid上找到长度大于mid的路径,检查把这些路径中最长的公共边置为0之后的最长链。若长度还是大于mid,则该长度不合法。实际编码中,可以用树上差分来解决边覆盖的问题。 我用倍增写的LCA,如果换成树链剖分或者Tarjan,RMQ什么的会更快~ ...原创 2018-08-18 21:26:17 · 174 阅读 · 0 评论 -
JLOI2014 松鼠的新家 LCA+树上差分
传送门 题解:很简单,就是求树上点的差分。把从a[i]到a[i+1]的路径上的点覆盖一次,记录总覆盖次数 点的差分和边的差分略有不同,不过大体思路都是差不多的,边的差分是在起点,终点tag+1,LCA处-2;而点的差分是起点,终点tag+1,LCA及其父亲tag-1。为什么?模拟一下就行了 然后求个子树和.jpg 注意这道题起点和终点是连在一起的,所以除了第一条之外的所有起点都要tag-1...原创 2018-08-26 21:22:26 · 219 阅读 · 0 评论