每次给一个点集, 求每个点到其他所有点的最大距离:

会修改边权;

修改边权之后,

我们可以用 dfs 序 + 线段树维护 当前点到根节点的距离.

还可以用树状数组 + 差分思想 维护. {

dfs 序之后,每个点都会有一个维护的区间,然后我们在这个区间里加上这个点保存的边权.

每个边 修改,我们修改这个区间. 区间开头 + , 结尾 - 就可以了;

最后直接查询一下就会是点到根节点的距离.

}

然后我们建虚树的时候,可以不每次都拿 1 当根节点,可以找一个 rt .

Top_xiao的犯错记录:

写这个题的时候,出现了几个问题:
1. 建完虚树的时候, 把原图 和 虚树的图弄混了,竟然 用 par[u][0] 当做 u 的父亲.
2. 然后 跑 f2 的时候,不能用 f[it] 因为  f[it] 用可能还没有更新到.因为是同一个父亲节点,直接用 f[u] 就可以.
3. 第一次以 1 为根节点建虚树的时候, 1 有可能并不是关键点,但是会被算进来. 所以算 f2 的时候需要特判一下.
4. 然后换了一种建虚树的方法, 并不是 以 1 当做根节点. 这个时候根节点的 f2 还要是 0, 还需要特判一下. 
     但是比 上一种 特判简单.
5. 最后 我的 dis 没有更新完全, 就是只更新了关键点,那些 lca 的非关键点没有更新.tmd.

#include<bits/stdc++.h>
#define ls now << 1
#define rs now << 1 | 1
using namespace std;
const int N = 1e5 + 100;
struct edge {int u, v, w, next;
} g[N <&l

Jittery Roads Gym - 100889J (虚树 + DP + dfs 序, + 线段树)相关推荐

  1. codeforces E. Jamie and Tree LCA+dfs序+线段树

    题解: 写起来还稍微有点麻烦. dfs序+线段树可以维护子树的整体修改和查询. 因此,这道题我们要往子树上靠. 我们首先从1号点进行dfs遍历,顺便求出点的dfs序和深度,然后我们采用倍增的思想,可以 ...

  2. New Year Tree(dfs序+线段树+二进制)

    题意: 给出一棵 n个节点的树,根节点为 1.每个节点上有一种颜色 ci.m次操作.操作有两种: 1 u c:将以 u为根的子树上的所有节点的颜色改为c. 2 u:询问以 u为根的子树上的所有节点的颜 ...

  3. 求和(dfs序+线段树)

    题意: 已知有n个节点,有n−1条边,形成一个树的结构. 给定一个根节点k,每个节点都有一个权值,节点i的权值为vi​. 给m个操作,操作有两种类型: 1 a x :表示将节点a的权值加上x 2 a ...

  4. 【XSY2667】摧毁图状树 贪心 堆 DFS序 线段树

    题目大意 给你一棵有根树,有\(n\)个点.还有一个参数\(k\).你每次要删除一条长度为\(k\)(\(k\)个点)的祖先-后代链,问你最少几次删完.现在有\(q\)个询问,每次给你一个\(k\), ...

  5. Codeforces 343D Water Tree(DFS序 + 线段树)

    题目大概说给一棵树,进行以下3个操作:把某结点为根的子树中各个结点值设为1.把某结点以及其各个祖先值设为0.询问某结点的值. 对于第一个操作就是经典的DFS序+线段树了.而对于第二个操作,考虑再维护一 ...

  6. [CodeForces877 E. Danil and a Part-time Job]dfs序+线段树

    [CodeForces877 E.Danil and a Part-time Job]dfs序+线段树 分类:Data Structure SegMent Tree dfn 1. 题目链接 [Code ...

  7. bzoj3252攻略 贪心+dfs序+线段树

    题目链接:戳这里 3252: 攻略 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 605  Solved: 255 [Submit][Status] ...

  8. 【BZOJ-3252】攻略 DFS序 + 线段树 + 贪心

    3252: 攻略 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 339  Solved: 130 [Submit][Status][Discuss] ...

  9. dfs序+线段树 BZOJ3252 攻略

    3252: 攻略 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 496  Solved: 211 [Submit][Status][Discuss] ...

最新文章

  1. java反序列化weblogic_[Todo]Java反序列化-weblogic
  2. kettle mysql 配置_Kettle数据库配置抽离
  3. 面试官:精通 Mybatis?请回答下这几个问题
  4. 服务器文件嗅探,嗅探TFTP配置文件传输
  5. TFS修改工作区映射区
  6. linux0775权限,Linux权限管理
  7. OpenCV applyColorMap函数实现False color伪色彩的实例(附完整代码)
  8. 比较重量 网易2016实习研发工程师编程题
  9. python清洗数据用什么包_格式化和清洗数据的Python工具包
  10. linux查看镜像的详细信息,docker inspect命令查看镜像详细信息
  11. Thrift 编译链接的时候出问题
  12. Hibernate学习笔记--导航
  13. 你的目的是什么是谁指使你_零基础是一种回归初心的思考:写作的目的是什么?怎么写?写谁?...
  14. 【Git/Github学习笔记】GitHub上README写法暨GFM语法解读
  15. 上传图片报413错误
  16. JAVA dwg转pdf的正确解法
  17. 必须吹吹自己,太厉害了!-简直不敢相信,面试拼多多我只用了15天就成功拿下offer,
  18. Java经典面试:源码解读及如何保证线程安全
  19. 通过百世单号自动识别快递公司,并查询大量物流情况
  20. 减脂肪应该吃什么食物

热门文章

  1. 联想电脑关闭开机声音
  2. 长津湖 21/10/27 linux9
  3. 天正lisp修改了配置_转:Windows下Lisp开发环境的安装配置
  4. Android开发丶历史界面时光轴的实现
  5. 水果店圈子:开小的水果店投资多少钱,开个水果店都需要什么费用
  6. 普通用户(非root)使用nginx
  7. 云计算和python真实工资_云计算工程师工资待遇高吗?一般多少?
  8. SQL server查询既学过01课程又学过02 课程的学号和姓名
  9. A-Level真题每期一练(3)
  10. android编译出来的内核是dtb,内核编译出现错误,求大神教