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

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

$\left \langle i,j \right \rangle$由$\left \langle i,j-1 \right \rangle$转移的

先放棵树

那个橙色的就是$\left \langle i,j-1 \right \rangle$

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

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

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

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

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

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

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

所以$\left [\left \langle i,j-1 \right \rangle,j  \right ]$为$\left \langle i,j \right \rangle$的可行区间

同理$\left [i,\left \langle i+1,j \right \rangle  \right ]$为另一可行区间

有因为$\left \langle i,j-1 \right \rangle\geqslant i,\left \langle i+1,j \right \rangle\leq j$

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

然后是复杂度

考虑枚举每一个$len$

我们会更新$\left \langle i,j \right \rangle,\left \langle i+1,j+1 \right \rangle, \cdots$

在更新$\left \langle i,j \right \rangle$时

我们会用到$\left [\left \langle i,j-1 \right \rangle,\left \langle i+1,j \right \rangle  \right ]$

更新$\left \langle i+1,j+1 \right \rangle$时

我们会用到$\left [\left \langle i+1,j \right \rangle,\left \langle i+2,j+1 \right \rangle  \right ]$

所以一个点最多被用两次

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

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

csp-s模拟测试93T2口胡(蒟蒻的口胡大家显然就不用看了吧的更多相关文章

  1. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  2. [开源]微信在线信息模拟测试工具(基于Senparc.Weixin.MP开发)

    目前为止似乎还没有看到过Web版的普通消息测试工具(除了官方针对高级接口的),现有的一些桌面版的几个测试工具也都是使用XML直接请求,非常不友好,我们来尝试做一个“面向对象”操作的测试工具. 测试工具 ...

  3. 安装nginx python uwsgi环境 以及模拟测试

    uwsgi帮助文档: http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html http://uwsgi-docs.re ...

  4. 利用Python中的mock库对Python代码进行模拟测试

    这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下     ...

  5. 转 C#实现PID控制的模拟测试和曲线绘图

    C#实现PID控制的模拟测试和曲线绘图   本文分两部分,一部分是讲PID算法的实现,另一部分是讲如何用动态的曲线绘制出PID运算的结果. 首先,PID算法的理论模型请参考自动控制理论,最早出现的是模 ...

  6. Mockito:一个强大的用于Java开发的模拟测试框架

    https://blog.csdn.net/zhoudaxia/article/details/33056093 介绍 本文将介绍模拟测试框架Mockito的一些基础概念, 介绍该框架的优点,讲解应用 ...

  7. NOIP模拟测试1(2017081501)

    好,今天是cgg第一次举行模拟测试,希望各位支持. 时间限制:2小时 题目链接: 题目一:水得都没名字了 题目二:车站 题目三:选数 不要觉得2小时太少,我的题目很良心,都很简单. 答案可以在模拟测试 ...

  8. Mock 模拟测试简介及 Mockito 使用入门

    Mock 是什么mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代 ...

  9. Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头

    [1]去Apache官网下载 Binaries系列的最新Jmeter.gz包 [2]下载到本地之后解压缩,进入到解压之后的目录然后,找到apache-jmeter-4.0/bin/jmeter.sh ...

随机推荐

  1. Codeforces Round #568 Div. 2

    没有找到这场div3被改成div2的理由. A:签到. #include<bits/stdc++.h> using namespace std; #define ll long long ...

  2. (转)WEB服务器_IIS配置优化指南

    原文地址:https://www.cnblogs.com/heyuquan/p/deploy-iis-set-performance-guide.html 通常把站点发布到IIS上运行正常后,很少会去 ...

  3. 【洛谷 P2444】 [POI2000]病毒(AC自动机)

    题目链接 这么多字符串,肯定是自动机啦. 先建出AC自动机,然后怎么表示一个安全代码没有病毒代码呢? 就是存在一条路径不经过有病毒代码段结尾的节点呗. 所以呢?有环啊!dfs一下救星了. #inclu ...

  4. Javap与JVM指令

    一.javap命令简述 javap是jdk自带的反解析工具.它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令).本地变量表.异常表和代码行偏移量映射表.常量池等等信息.当 ...

  5. DEDECMS标签笔记

    注意点: 1.dede的标签不可以嵌套(除了channelartlist里面可以嵌套指定的标签),那么当需要使用{dede:global.cfg_webname/}dede标签的时候我们需要转换成[f ...

  6. angular异步获取数据后在ngOnInit中无法获取,显示undefined解决办法

    两种方法 1 通过*ngif动态加载要数据渲染的dom 2 通过路由导航resolve 第一种感觉太麻烦了,要是一个页面请求多个接口,那就不得不写多个*ngif,本人还是更倾向与第二种发法 具体步骤: ...

  7. Vscode配置springboot开发环境变量

    先安装必要的插件 然后在左下角setting 打开setting 配置setting.json文件 ,主要是配置了用户设置 这里面主要配置jdk环境和maven,建议下载vscode推荐的openjd ...

  8. webpack4 从零学习常用配置梳理

    webpack 的核心价值就是前端源码的打包,即将前端源码中每一个文件(无论任何类型)都当做一个 pack ,然后分析依赖,将其最终打包出线上运行的代码.webpack 的四个核心部分 entry 规 ...

  9. ConcurrentHashMap源码解析(JDK8)

    首先看看CHM的重要成员变量: public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ...

  10. jenkins 启动

    docker pull jenkinsci/blueocean docker run \ -u root \ --rm \ -d \ -p 8888:8080 \ -p 50000:50000 \ - ...