NOIP模拟 4

T1没开longlong

T2忘了有向...

 

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

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

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

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

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

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

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

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

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

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

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

 

posted @ 2019-07-18 11:37  Yxsplayxs  阅读(92)  评论(0编辑  收藏  举报