dataCLJ遗产动态树研究_第1页
dataCLJ遗产动态树研究_第2页
dataCLJ遗产动态树研究_第3页
dataCLJ遗产动态树研究_第4页
dataCLJ遗产动态树研究_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

动态树研究,HFLS-WJMZBMR,动态树作为传统数据结构,已经经常在比赛中出现了。,现在动态树的难度又得到了前所未有的加强!研究数据结构问题,不但具有理论意义,而且可以极大的加强自己组织和实现代码的能力,很多人的代码能力就是码数据结构练出来的。,传统的动态树问题,为了方便只考虑点权。支持链操作:将一个链上的加一个数/全部改成一个数/支持链询问:询问一条链上的最大值/最小值/权值和支持删除一条边的操作,支持添加一条边的操作。当然要保证还是一个森林。支持换根。,如何解决传统的动态树问题,经典算法LCT。基于核心操作expose(),实现并不困难,但是需要注意细节问题。最近的OI比赛中也经常考到,掌握的话也是不错的。简单的讲一下实现。,支持子树操作的动态树问题,为了方便只考虑点权。支持链操作:将一个链上的加一个数/全部改成一个数/支持链询问:询问一条链上的最大值/最小值/权值和支持子树修改:将一个子数上的加一个数/全部改成一个数/支持子树询问:询问一个子树的最大值/最小值/权值和支持删除一条边的操作,支持添加一条边的操作。当然要保证还是一个森林。支持换根。,如何解决支持子树操作的动态树问题,使用基于LCT实现的TopTree。对expose操作进行各种各样的修改得到新的expose操作。考虑对于子树操作的支持。详细的讲一下实现。,支持链翻转操作的动态树问题,为了方便只考虑点权。支持链操作:将一个链上的加一个数/全部改成一个数/支持链询问:询问一条链上的最大值/最小值/权值和支持删除一条边的操作,支持添加一条边的操作。当然要保证还是一个森林。支持换根。支持链翻转操作,将一条链上的数字整个翻转过来,形态保持不变。,如何解决支持链翻转操作的动态树问题,我们要使用对每个链使用两个splay,一个是通常的splay,维护位置关系,一个是权值splay专门维护权值关系。一个splay的根结点存有到对应splay根节点的对应。同时两个splay按照顺序一一对应。注意到对于一个位置splay中的点,要得出权值splay中的对应点的话,需要先找到根,然后在找到权值splay的对应位置。Expose操作中我们同样可以处理并维护位置splay和权值splay的对应关系。,支持链翻转操作和子树操作的动态树问题,为了方便只考虑点权。支持链操作:将一个链上的加一个数/全部改成一个数/支持链询问:询问一条链上的最大值/最小值/权值和支持子树修改:将一个子数上的加一个数/全部改成一个数/支持子树询问:询问一个子树的最大值/最小值/权值和支持删除一条边的操作,支持添加一条边的操作。当然要保证还是一个森林。支持换根。支持链翻转操作,将一条链上的数字整个翻转过来,形态保持不变。?可以做吗?,一些例题,BZOJ3153Sone1BZOJ3083遥远的国度BZOJ3159决战TsinsenA1354Lord,可持久化动态树,注意到在Top-Tree的实现中,我们现在的整个结构,实际上形成了一个大的树。我们修改一路往上进行,只要对所有的这些节点进行备份,理论上可以实现可持久化!但是我们需要注意到的是,由于这是一个均摊数据结构,我们不能保证每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论