• [树的直径]消防


      需要想到路径一定位于直径。

      如果发现以上规律,那么直接把直径处理出来,转化成序列问题,用单调队列跑一下就可以。

      然鹅我学识甚浅,想不通为什么。

      

      设直径长度为$d$

      则若这条路径完全不在直径上,$ans>=d/2$

      若这条路径完全在直径上,$ans<=d/2$

      若这条路径一部分在直径上,假设从$P$点离开直径指向$Q$点 (可以理解成 直径那条边过长走不动了但是可以走一条别的边)

        由于P到直径另一端的距离一定大于$PQ$,所以即使从$P$指向$Q$,减少了这部分距离,但是不会使最大距离变小

        也就是说答案不会比直接在$P$点断了更优秀

      所以可以直接在直径上找路径。

      刚才天皇说找到直径最中间的那条路径就可以(即两头未取到的两段的最大值最小)

      好像很有道理(巨)

      

      因为对于一个非最优方案来讲,它与最优方案的差距可以在:

        非优方案中的一条侧链比最优方案长。

        非优方案中两端的弃链比最优方案长。

      第一种不可能发生,因为如果最优方案没选那条很长的侧链,将会导致多延伸出一部分才能到侧链,答案更劣了

      所以最优方案=弃链最短

      

      不得不说天皇还是太巨了。

  • 相关阅读:
    微软企业库5.0学习笔记实战数据验证模块高级篇
    总结一些常用的CMS
    JS类库
    sql2
    前端开发必须知道的CSS
    JS实现非图片动态loading
    Microsoft SQL Server 2005 提供了一些工具来监控数据库
    js实现Tooltip
    Js动画基础
    仿iGoogle自定义首页模块拖拽
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/11454531.html
Copyright © 2020-2023  润新知