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

     

  • 相关阅读:
    Vue(小案例_vue+axios仿手机app)_go实现退回上一个路由
    nyoj 635 Oh, my goddess
    nyoj 587 blockhouses
    nyoj 483 Nightmare
    nyoj 592 spiral grid
    nyoj 927 The partial sum problem
    nyoj 523 亡命逃窜
    nyoj 929 密码宝盒
    nyoj 999 师傅又被妖怪抓走了
    nyoj 293 Sticks
  • 原文地址:https://www.cnblogs.com/Drenight/p/8611773.html
Copyright © 2011-2022 走看看