纪中集训d2 提高A组模拟 T3 JZOJ 5236 利普希茨

23 篇文章 0 订阅
8 篇文章 0 订阅

题目名称大雾……
这道题目实际上是道结论题,证法多样,所以专门写篇文章。
题目要求维护一个序列 ai ,每次修改一个值,或者对于一个区间 [L,R] 询问

maxLi<jR|aiaj|ji

要求算法复杂度 O(nlgn)
先考虑一种简单的分治(骗分)写法。我们考虑将我们目前分治到的序列 ai 中的 max{ai} min{ai} 求出来,然后我们马上发现如果以这两个点为分界,整个序列可以被分成三段,并相应分治求解。容易发现,所有最优的区间 [i,j] 必然不会跨越这两个点,因为跨越的情况下我们可以将区间的端点用这两个点之一代替,这样的话分子会更大而分母会更小,也就是答案更优。
到这里,我们其实已经看出了这道题目的性质:实际上,最优的区间 [j,i] 必然需要满足 ji=1 ……因为这里的分治必然将区间越分越小,最后也就只能分到只剩两个相邻元素了。以上是证法1。
然后我们来一种几何证法。我们考虑将 ai 表示在直角坐标系上,画出所有的 (i,ai)
b>c
这里是一个例子,我们连接某两个相邻的点,考虑到题目所问就是斜率,由此我们可以证明后面的某个点与这两个点连接后所得到的斜率一定没有这两个点直接连接的斜率大。比如上面的那个图,考虑到 a=b+c ,我们选取 b c之中斜率较小的那一个,那么另外一个就显然要比 ka 大,其他情况下,画个图也可以马上理解,所以同理可得本题结论。以上是证法2。
接下来,我们考虑不等式的证法。我们设 i<j<k ,如果我们令 f[i,j]=|aiaj|ji ,我们证明 f[i,j]f[i,k] f[j,k]f[i,k] 。先暂且去掉绝对值符号来考虑,根据两个不等式间的相似性,我们有第一个不等式等价于
(ajai)(ki)(akai)(ji)
第二个等价于
(akaj)(ki)(akai)(kj)
鉴于 |aiaj|ji |ajak|kj 之间的大小关系无法确定,所以上述两式间必有一式成立(只要两个式子左右对应除一下就行了),以上为证法3。
另外,我在尝试构造这一结论的反例数据时,由均值不等式发现只有两个相邻数间差距都相等时证法3中的等号才成立,其余情况必然是大于号,于是我们可以发现这个结果也可以由
21>32>43>
证出。以上是证法4,思路上有点类似于中学生数学题(GDOI 2016D1T1)的数学做法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值