• 树的直径教学思路


    树的直径教学思路
    首先根据树的直径的性质,即它为树上两个最远点的距离,推出求解找出直径的两种方法.
    1:两次遍历法.
    适用条件:树上的边权必须为正,如果边权为负则不再适用
    2:最长链加次长链
    适用条件:边权可正可负,相较上一种方法,它可求解出关于子树更多的信息,例如求树上所有点,均找出它们的最远距离,就可用这种方法+换根法进行求解

    其次对于直径的一些附加信息的求解,主要有
    1:直径上包括哪些点
    2:直径上包括哪些边
    3:直径有多少条

    再次,直径的简单拓展,主要有
    1:半径的求法,所谓半径即某个点,它的最远点距离是最小的。这样当求2棵树或多棵树合并的时候,可以用到。(对应习题dream),另对于一个树,可求出它的半径,那如何求出所有子树的半径?
    2:如果存在多条直径,则必然交于一点.(对应习题缩短树的直径)
    3:树上所有点,其对应的最远点,必然为直径的某个端点.(对应习题树网的核)

    最后,今后可能遇到的问题
    1:当树上边权不断变化时,使用线段树等数据结构维护直径。。。CF1192B - Dynamic Diameter

    2:直径与其它算法相结合,例如博弈论,构造法

    3:虚树的直径,仙人掌树的直径

    一些难题
    snow的追寻
    挺进
    ctsc2017 网络
    ioi2016 shortcut
    cf1039d you are given a tree

  • 相关阅读:
    sql语句游标的写法
    oracle的安装与plsql的环境配置
    oracle中创建表时添加注释
    jsp中Java代码中怎么获取jsp页面元素
    sql模糊查询
    jQuery循环给某个ID赋值
    Codeforces Round #671 (Div. 2)
    TYVJ1935 导弹防御塔
    Educational Codeforces Round 95 (Rated for Div. 2)
    Codeforces Round #670 (Div. 2)
  • 原文地址:https://www.cnblogs.com/cutemush/p/15939559.html
Copyright © 2020-2023  润新知