zoukankan      html  css  js  c++  java
  • csp-s模拟测试93T2口胡(蒟蒻的口胡大家显然就不用看了吧

    我们先证正确性,再证复杂度

    以下记$left langle i,j ight angle$为考虑$left [ i,j ight ]$的点时的最优决策

    $left langle i,j ight angle$由$left langle i,j-1 ight angle$转移的

    先放棵树

    1

    那个橙色的就是$left langle i,j-1 ight angle$

    此时根是其他任意一个点都不会比现在更优

    现在我们要在这颗树上插入点$j$,

    显然$j$是这颗树中最大的点

    那么这个点只会被插入到图示绿色区域内

    2

    此时绿色区域中会有一个更深的点,

    通过将绿色区域中某一点换为根可能会使答案变优,

    但将白色区域的点换为根一定不优

    所以$left [left langle i,j-1 ight angle,j  ight ]$为$left langle i,j ight angle$的可行区间

    同理$left [i,left langle i+1,j ight angle  ight ]$为另一可行区间

    有因为$left langle i,j-1 ight anglegeqslant i,left langle i+1,j ight angleleq j$

    所以$left langle i,j ight angle$的可行区间为:$$left [ left langle i,j-1 ight angle,left langle i+1,j ight angle ight ]$$

    然后是复杂度

    考虑枚举每一个$len$

    我们会更新$left langle i,j ight angle,left langle i+1,j+1 ight angle, cdots$

    在更新$left langle i,j ight angle$时

    我们会用到$left [left langle i,j-1 ight angle,left langle i+1,j ight angle  ight ]$

    更新$left langle i+1,j+1 ight angle$时

    我们会用到$left [left langle i+1,j ight angle,left langle i+2,j+1 ight angle  ight ]$

    所以一个点最多被用两次

    枚举$len$是$Theta (n)$的

    所以总的来说是$Theta (n^{2})$的

  • 相关阅读:
    linux里终端安转视频播放器的操作及显示
    String字符串操作
    普通类 抽象类 接口
    java基础
    关于window的端口查看及tomcat的端口修改问题
    eclipse的应用和整理
    mysql学习
    echarts的使用
    Failed to read candidate component class
    oracle学习笔记2
  • 原文地址:https://www.cnblogs.com/ooovooo/p/11764105.html
Copyright © 2011-2022 走看看