zoukankan      html  css  js  c++  java
  • 树形图们

    目前见过最麻烦的树形dp还是第一场多校那题link

    维护的是子树中同色子树的尺寸

    ---------------------------

    存放一些树相关的问题

    目前手上能处理树相关问题的技能还挺多的

    ①树链剖分:树链修改/子树修改/树链查询/子树查询

    ②树上差分:树链修改只有最终一次查询

    ③dfs序:子树信息,结合线段树可以完成子树的修改与查询,结合平衡树可以查子树中大于自己的节点数

    ④树直径:最大化的两个树节点距离,可以用来求最优访问步数(例题1)

    ⑤倍增:log级别求出每个点能往根走多远

    给个初始化的板子,注意别爆了longlong

        for(int i=0;i<=32;i++)fa[1][i]=0;  
        for(int i=0;i<=32;i++)fasum[0][i]=Linf;  
        for(int i=1;i<=32;i++)fasum[1][i]=Linf;  

     

    ⑥lca:万金油

    -------------------------------------------------------------------------------------------

    例题1:592D - Super M

    树上有些点打了标记,树边长1,问任选一点出发访问所有打标记点的最小步数

    从某点出发再回到这个点所需的步数就是虚树边数目乘2,这个是固定的,

    而所要最小化的答案就在于我们能多么拉大起点与终点的距离,

    这个最大值就是虚树的树直径

    link

     

  • 相关阅读:
    Thinkphp6.0/TP6框架中新增函数的解释及用法
    PHP7.1的几个新特性
    tp6数据库mysql调试
    nginx基本配置
    redis配置
    redis的笔记
    thinkphp学习笔记
    vsCode软件相关快捷键
    erlang随笔3--OTP
    文献综述二十:基于UML技术的客户关系管理系统实现
  • 原文地址:https://www.cnblogs.com/Drenight/p/8611773.html
Copyright © 2011-2022 走看看