博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[NOI2009]二叉查找树
阅读量:5340 次
发布时间:2019-06-15

本文共 341 字,大约阅读时间需要 1 分钟。

题解:

顺便学了一下笛卡尔树

首先显然这题给出的是一颗treap

那么有一个性质就是在它改变权值的时候,它的中序遍历不会随之改变

那么就变成序列上的问题了

令f[i][j][k]表示i-j这段区间最小值为k(当然首先得离散化)

转移就是枚举mid,然后枚举他们的最小值k1,k2

这样时间是n^3*n*n^2=n^6的

那显然这个太暴力了

我们在初始时处理处g[i][j][k]表示i-j这段区间最小值大于等于k的最小值

那么枚举完mid之后就可以o(1)了

这样是n^4的,常数挺小的吧

另外就是感觉离散化这里有点奇怪

题意应该是支持把权值变成实数的吧,不然这样其实是不对的

转载于:https://www.cnblogs.com/yinwuxiao/p/8697083.html

你可能感兴趣的文章
使用iperf测试网络性能
查看>>
struts2入门之准备工作
查看>>
从C语言的弱类型属性说起
查看>>
大牛博客
查看>>
图片的显示隐藏(两张图片,默认的时候显示第一张,点击的时候显示另一张)...
查看>>
Docker 安装MySQL5.7(三)
查看>>
python 模块 来了 (调包侠 修炼手册一)
查看>>
关于CSS的使用方式
查看>>
本地MongoDB服务开启与连接本地以及远程服务器MongoDB服务
查看>>
跨域解决方案之CORS
查看>>
学习RESTFul架构
查看>>
分析语句执行步骤并对排出耗时比较多的语句
查看>>
原生JS轮播-各种效果的极简实现
查看>>
软件工程总结作业---提问回顾与个人总结
查看>>
计数器方法使用?
查看>>
带你全面了解高级 Java 面试中需要掌握的 JVM 知识点
查看>>
sonar结合jenkins
查看>>
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
stat filename
查看>>