博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「WC2018」即时战略
阅读量:6112 次
发布时间:2019-06-21

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

考虑对于一条链:直接随便找点,然后不断问即可。

对于一个二叉树,树高logn,直接随便找点,然后不断问即可。

 

正解:

先随便找到一个点,问出到1的路径

然后找别的点,考虑问出来第一个从1过来的未知位置,就可以一口气问下去了。

怎么找?

logn询问次数

 

法一:

点分治

有点类似:

可以直接确定走向

暴力插入点,替罪羊重构

O(nlog^2n)

 

法二:

LCT

直接在实链上不断二分,然后跳到下一个实链上

复杂度分析可以类比access操作,是logn的

最后再access一下

O(nlogn)

(zzt说复杂度不对?)

 

这个二分找位置的套路看来还是很普遍的。。

 

转载于:https://www.cnblogs.com/Miracevin/p/10983602.html

你可能感兴趣的文章
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
angularjs表达式中的HTML内容,如何不转义,直接表现为html元素
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
[Usaco2015 dec]Max Flow
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>
android studio修改新项目package名称
查看>>
深入python的set和dict
查看>>
C++ 11 lambda
查看>>
Hadoop2.5.0 搭建实录
查看>>
实验吧 recursive write up
查看>>
High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件
查看>>
go test命令參数问题
查看>>
linux 搜索文本
查看>>
超实用Mac软件分享(二)
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>