猫树
不支持修改的数据结构.
一般预处理O(n log n),询问O(1)
Infinite_Jerry
这个作者很懒,什么都没留下…
展开
-
Luogu P5576 [CmdOI2019]口头禅
前言 毒瘤题 and 毒瘤出题人. orz cmd. 前置知识 内存池小技巧:开一大块静态内存,然后用指针标记位置.(避免用vector等常数巨大的stl). 猫树:本题运用了类似的思想,但是并没有用线段树.(我称本题运用的方法为"猫树分治). 猫树分治的思想: 把区间询问,转化为以中间某个状态为中心的DP. 结合前缀/后缀最值,达到问题的要求. 正题 考虑暴力. 对于[l,r][l,r][l...原创 2020-03-31 21:27:37 · 399 阅读 · 0 评论 -
猫树学习笔记
Orz,算法发明者 猫树是解决无修改区间或树上询问的高效算法. 一般而言,询问的运算满足结合律和快速合并的特点. 算法的主要思想是离线,然后类似ST表那样合并.(基于线段树实现) 首先,把线段树的值域补成二的次幂lenlenlen.(有效值域为[0,len)[0,len)[0,len)) 每次询问的时候,找到使l,rl,rl,r(询问前先-1)第一次在线段树上分开的节点xxx. x=(l+len)...原创 2020-03-30 21:08:19 · 630 阅读 · 0 评论