博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SCOI2016]幸运数字
阅读量:6891 次
发布时间:2019-06-27

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

线性基合并O(log^2n)不能更小

但是倍增O(qlog^3n)可过233333

甚至树剖O(qlog^4n)可过666666

还有一个树上路径查找利器:点分治!

询问离线

枚举重心,处理路径过重心的询问

边dfs边插入线性基,维护每个点到根路径上的线性基

每个询问,如果所属不同的子树,那么过当前重心

线性基暴力合并

O((n+q)log^2n)

十分优秀!

 

点分治好处在于:

可以稳定O(nlogn)找到所有路径

路径拼成两半,

根据重心拼拼凑凑尝试拼出答案。

而且dfs本身有优秀的单点增量的性质!

 

一般地,倍增一条路径就要O(logn),树剖一次O(log^2n)

能离线处理询问的话,点分治还是很优秀的啦~

(虽然修改一般只能单点,,还得离线)

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

你可能感兴趣的文章
Zabbix-web的中文显示及其乱码问题解决方法
查看>>
Gluster管理命令的总结与归纳
查看>>
FreeNAS如何配置LACP(链路聚合和故障)
查看>>
AJAX 学习笔记[三] get 与post 模式的区别
查看>>
MES技术
查看>>
GO语言练习:网络编程 ICMP 示例
查看>>
ios11--UIButton
查看>>
阿里云海外征战记:跻身全球前三,只用了两年半
查看>>
解密回声消除技术之二(应用篇)
查看>>
Go语言的web程序写法
查看>>
IDF2011:基于SaaS模式的"教学云"案例
查看>>
《Linux From Scratch》第三部分:构建LFS系统 第七章:基本系统配置- 7.5. 配置系统时间...
查看>>
云计算你必须思考的8大问题
查看>>
Windows7 Debug Test
查看>>
HTTPS连接的前几毫秒发生了什么
查看>>
从变量到封装:一文带你为机器学习打下坚实的Python基础
查看>>
给大家共享一个基本算法包
查看>>
Riverbed:SDN向广域网扩展为企业带来哪些价值
查看>>
定义中国网络安全市场战略高度,绿盟科技为“互联网+”保驾护航
查看>>
python 自定义 包 模块 打包 安装
查看>>