zoukankan      html  css  js  c++  java
  • NOIP模拟 4

    T1没开longlong

    T2忘了有向...

    T3是个好题,可以说将复杂度从N^2优化到NlogN是一个质的飞跃

    考虑分治(要想出log可不就要分治么!(segtree也行 但我不会)

    对于一个分治区间,关键在于求出跨中点区间的贡献

    按最值分布分类,同侧比较简单和好理解,关键在于异侧

    以左小右大为例,扫大移小。

    要想O(N),必须固定一侧,然后统计另一侧的对应

    对于异侧的情况,有一个很强的式子,可以将互相缠结的关系分割开来,使等式两边分别只与l,r半区间有关

    静态视角:合法的形式应该是左区间的低谷小于右边低谷,  高峰低于右边高峰(保证最大最小值的极性)

    动态:右侧美剧点右移时,min不增,max不减,所以为了保证min满足要求右端点必须左移,而左端点可能登上以前登不上的峰而左移,但是过高会撞死(无法推进)

    另外一开始不用暴枚找初始区间,全都定在mid处,第一个while自会帮你找出来

    此题的AC离不开skyh的指导和启发,在此表示感谢

     

  • 相关阅读:
    SQL 大数据查询如何进行优化?
    事件和委托的区别
    虚方法(virtual)和抽象方法(abstract)的和接口(interface)的区别
    高并发的秒杀
    C#算法
    口试C#概念
    口试Linq题
    口试大数据及大并发问题
    Windows下MongoDB安装
    MongoDB简单介绍
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/11206241.html
Copyright © 2011-2022 走看看