logo资料库

可持久化数据结构研究.pdf

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
前言
本文结构
基础知识
可持久化线段树
线段树的一些记号
单点修改
单点,区间询问
标记
可持久化块状链表
块状链表
插入元素
删除元素
维护
复杂度
持久化
区间第k大问题
问题回顾
问题描述
问题的经典算法
使用可持久化平衡树的算法
如何使用线段树找第k大
权值线段树的运算
无修改
有修改
总结
关于修改的一些细节
实时开节点的权值线段树
区间第k大问题EXT
区间第k大问题EXTEXT
区间第k大问题EXTEXTEXT
树上路径第k大问题
问题回顾
问题描述
经典算法
使用可持久化线段树的算法
无修改
有修改
离线转在线
最近的给定权值的祖先
题目描述
算法
一些例题
middle
可持久化平衡树
Treap
一些记号
可持久化
merge的实现
split的实现
一些操作的实现
超级编辑器
题目大意
凸包
完全动态凸包
只有插入
删除
合并两个不相交的上凸壳.
求两个凸壳间的外公切线
实现删除操作
实现的一些细节问题
例题:Almost
题目大意
数据范围
算法
转化成几何问题
算法1
算法2
感谢
–¨zŒ(˜ †I˘ Æ# Contents 1 c 2 '( 3 ˜:£ 4 –¨zª 4.1 ªP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 :?U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 :,«m˛fl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 –¨z‹GL 5.1 ‹GL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 \ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.4 E, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 –¨z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 «m1kflK 6.1 flK£ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 flK£ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 flK†;{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 ƒ^–¨z†{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Xƒ^ªØ1k . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 ª$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 ˆ?U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 k?U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.5 o( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 ’u?U[! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 8 8 8 8 9
6.3.1 ¢m!:ª . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 «m1kflKEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 «m1kflKEXTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 6.6 «m1kflKEXTEXTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7 ·»1kflK 11 7.1 flK£ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.1.1 flK£ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.1.2 †;{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.2 ƒ^–¨zª{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.2.1 ˆ?U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.2.2 k?U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8 l=3 13 8.1 C‰yk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.1.1 K8£ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.1.2 { . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 9 ~K 13 9.1 middle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 10 –¨z† 14 10.1 Treap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 10.1.1 P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 10.2 –¨z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 10.2.1 merge¢y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 10.2.2 split¢y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10.2.3 ¢y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 11 ??6 16 11.1 K8¿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 12 13 ˜ 17 17 13.1 k\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 13.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 13.3 ¿. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 13.4 ƒmœ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 13.5 ¢y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 13.6 ¢y[!flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2
14 ~K:Almost 21 14.1 K8¿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14.2 Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14.3 { . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14.3.1 =z⁄AflK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14.3.2 {1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 14.3.3 {2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 15 a 23 3
1 c ⁄¢–¨zŒ(,·øŒ¯⁄k{⁄,^§m^ Œ~mm. ØıŒ(––¨z,’Xª,†,‹GL. 2 '( 'k0–¨zªA^,0–¨z‹GL. • «m1k˛fl • ·»1k˛fl • l=3 • ~K e5·'›:,0–¨z†A^. • ??6 • ˜(|–:,\:). 3 ˜:£ • ª &[‹. • &[‹. • GŒ| &[‹ƒ^GŒ|5ocM. • † •‹3'¥0. • ‹GL •‹3'¥0. 4
4 –¨zª 4.1 ªP etL«!:. left(t), right(t)'OL«tmflf. et·[l, r),@oleft(t)·[l, l+r f(t)L«3tP„&E,’Xcnt(t)·t¥ŒŒa. 2 ),right(t)·[ l+r 2 , r). •4ª|–,Uo⁄k{⁄. a5˜e,g?UU!:kO(log n),›ø:¿ƒ›^ §:,·•8. 4•5˜X¢y–¨zª. 4.2 :?U ˜k•8I·,?U,K⁄k8c{⁄$, #ª. duª¢y·48,@o•548wøflK. ˜k˜f!:,@o•I##f!:,§·?UL ,@oUc. 2˜f!:,du§flf¥ı‹k?U,w⁄flf,@ o•Øflf48N^…Œ,flf?U,,c!:,mflf C,flf?U,Uc!:?U. 5¿‹?U!:,U·?Uf!:yk,zgI#O(log n)( :. •·3#!:,vkØ?!:&E?U,{⁄vk´K. 4.3 :,«m˛fl •Iª@–. 4.4 IP ª¥k~†;:IP. 4•˜X4–¨zª¢yIP. •fl:,XJ§¡kIP,•§IPeD.5¿øp•Ø: ?U,ø·vkflK,ˇeDIP,T:·5:d,‹Kc{⁄ . 5¿eDIP,•U?U§flf,•#2!:L«IP §flf. 5
IPKaq:?U,XJT:CX,#!:L«IP§,˜K {#:,vCXflfC,CXflfO?U. 5 –¨z‹GL √ n,@o§ 5.1 ‹GL ‹GL,·O( √ y‹>= 5.1.1 \ n)^LºŒ|. √ √ n,‹<= 2 n. •Ø@⁄3‹,3§S\@,E,O( 5.1.2 •Ø@⁄3‹,3§S@,E,O( 5.1.3 o √ n). √ n). zg?1,•£H⁄k‹,XJk‹< √ ¿,XJk‹> 2 n,@o§'⁄ƒ'. 5.1.4 E, √ N·w⁄kE,·O( n). 5.2 –¨z 4•˜X–¨z‹GL.·o‹GL{⁄. •zg?U‹,U#?UL‹#‹. √ ^O( n)Œ|·L⁄k‹. ?U^#Œ|#‹S. 6 «m1kflK 6.1 flK£ 4•5£e†;«m1kflK. 6.1.1 flK£ª nŒa0, a1, ..., an−1,zg˛flal, al+1, ..., ar¥,1kŒ·ı. £“k3l2«,k||–?UŒ«O. 6
6.1.2 flK†;{ •5£eø†;flK†;{. ˆ?U+3: E,O(A) + O(B) + O(C)L«?nE,O(A),£g˛flE,O(B),mE, O(C) • 'Y+ª O(n log n) + O(log3 n) + O(n log n) • 'Y+'‹ O(n log n) + O( • y' O(n log n) + O(log n) + O(n log n) • Uª O(n log n) + O(log2 n) + O(n log n) n log n log n) + O(n) √ k?U+3: E,O(A)+O(B)+O(C)+O(D)L«?nE,O(A),£g˛flE,O(B),? UE,O(C),mE,O(D) • 'Y+ª@† O(n log n) + O(log3 n) + O(log2 n) + O(n log n) • 'Y+'‹ O(n log n) + O( • Uª@† O(n log n) + O(log2 n) + O(log2 n) + O(n log n) n log n log n) + O( n log n) + O(n) √ √ √ '‹{:·øz‹ n log n,–$E,. øNu[0,[–gC·L]. –wy'E,'‘D,·ø(E,,ŁE,’p. 6.2 ƒ^–¨z†{ 6.2.1 Xƒ^ªØ1k Ø1k1k·d,B•Ø1k. ø·†;flK,•bŒ·3[0, n)m,@oØuƪ. z! :t,^cnt(t)L«!:SŒŒ. @o•˜c3!:t,Ø!:tS1kŒ. XJtflfSŒŒ≥ k,@oY3flfS,taflf. ˜K{,Y·mflfS1k − cnt(left(t)) !:,tamflf=. øE,·O(log n). O\ŒIت?1?U–¢y. 7
6.2.2 ª$ ˜(ªa, b,ªa(+/−)bz!:cnt·ØA a¥!:(+/−) ØAb¥!:. ˜ªaŒc,ªa · cz!:cnt·ØAa¥ !:ƒc. @oØuªa − b,•Ø§¢1˛fl¿Iƒ,Ioa, b¥3Ø A!:=. Øuªa · c,·n. n,•˜ª T = k i=1 ai · ci ·kªŒ. @oتT ?1˛fl,IO(k log n)m. 6.2.3 ˆ?U 4•kØ⁄kŒlz,@olz,ai < n. e5,•^atiL«a0, a1, ..., ai−1øŒV\¡‘ª/⁄ª. @oati–ˇLati−1?U. ƒ^–¨zª⁄katiIO(n log n)mm. @o•˜˛fl«mal, al+1, ..., ar−11kŒ. 5¿•I3ªatr − atlØ1k1. @oø{E,·O(n log n) + O(log n) + O(n log n) 6.2.4 k?U duk?U,•ati’J,ˇg?U‹UKO(n)ati. ·•–^GŒ|5oati,uoªcM. @oati–L«⁄O(log n)ª. @oatr − atlg,–L«⁄O(log n)ªXŒŒ. @o–3O(log2 n)mS⁄˛fl,?UI?UGŒ|¥O(log n) !:,?UE,O(log2 n). @oø{E,·O(n log n) + O(log2 n) + O(log2 n) + O(n log2 n) 6.2.5 o( ƒ^–¨zª{mE,ˆkvk?U,·fi{¥‘. ø{~·un)—,~N·,3OI’m¥Ø•ƒ^. (•‹‘y'fi†C⁄œbo) -<¢ˆ·?UmE,,Iƒ^m~Œ‘zUˇLK 8. 8
分享到:
收藏