- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线段树 北京大学哲学系 曹钦翔 目录 1.模块化编程 2.从线段树高级功能到线段树结构的设计 3.从OI问题到线段树功能的设计 1.1 线段树基本问题 有一个长为n的数列(输入),维护m次操作,每次操作是以下两种之一: (1)修改数列中的一个数 (2)求数列中某连续一段的最小值 解决思路:存储不变化的整体信息减少冗余操作 1.2 线段树的结构 n=8的结构: 结构要点 根节点为:min[1] 总层数h为O(logn)的 min[k]的左右儿子:min[2k]、min[2k+1] min[k]的父节点:min[k/2] a[k]对应的叶子节点:min[k+2h-1] 单点修改操作 段查询操作 1.3 段修改操作的问题 有一个长为n的数列(输入)a[1],a[2]…a[n],有m次操作,每次操作是以下两种之一: (1)将数列中的一段a[l]…a[r]全部改成常数C (2)询问某一项a[i]当前的值 段修改的应对:整体修改标签 单点查询操作 段修改操作 Step 1: 快速查找叶子节点 Step 2: 开区间代替闭区间 Step 3: 自顶向下传递整体修改信息 Step 4: 自底向上添加整体修改信息 Step 5: 自底向上从新统计统计信息 段查询操作2 Step 1: 快速查找叶子节点 Step 2: 开区间代替闭区间 Step 3: 自顶向下传递整体修改信息 Step 4: 自底向上统计答案 1.5 模式化的程序 Step 1: 快速查找叶子节点 Step 2: 开区间代替闭区间(限于段操作) Step 3: 自顶向下传递整体修改信息 Step 4: 自底向上统计(段查询)/修改(段修改) 1.5 模式化的程序 2. 线段树结构的设计 模式化之外的部分: 1. Saving Data的设计 例题 2.1 问题描述 有一个平面连轴支架,包含n根棍子,相邻两根有一个连接点。第一根有一端(不连第二根的那端)固定在(0,0)。维护三个操作: (1)绕某一连接点旋转(这个点把所有棍子分成两部分,他们旋转时分别是一个整体) (2)某根棍子拉长或缩短 (3)询问某连接点坐标 例题 2.2 问题描述 有一个集合A,初始值时,维护以下操作: (1)与某区间取并 (2)与某区间取交 (3)与某区间取对称差 (4)减去某区间 例题 2.2 问题描述 (5)被某区间减 (6)取补 (7)询问某数是否在该集合内 在程序最后,以区间的并的形式输出该集合 例题 2.3 问题描述 输入一个长为n的数列,维护m个操作,操作分为三类: (1)某连续段一起加上一个常数 (2)询问某一段的所有数的两两乘积的和 (3)询问某一段的所有相邻两数乘积的和 例题 2.4 问题描述 输入两个个长为n的数列a[i],b[i],维护m个操作,操作分为三类: (1)对于某一连续段将其中的b[i]加到a[i]上 (2)对于某一连续段将其中的a[i]加到b[i]上 (3)询问某一段中所有的a[i]b[i]的和 例题 2.5 问题描述 输入长度为n的数列a[i]。维护m次操作,每次操作可以: (1)a[l]…a[r]每一项都加一个常数C (2)求F[ a[l] ]+F[ a[l]+1 ]+…F[ a[r] ]mod 10001的余数 (3)求F[ a[l] ]+F[ a[l+1] ]+…F[ a[r] ]mod 10001的余数 其中F[i]表示斐波那契数列。即F[0]=F[1]=1,F[n+2]=F[n+1]+F[n]。(C=10^11) 例题 2.6 问题描述 输入一个状态集大小不超过10的AC自动机,s是一个字符串,即AC自动机的输入。维护m个操作,操作分为两类: (1)修改s的一个字符 (2)询问s对应的输出 例题 2.7 问题描述 平面上放置了一个正四面体,初始时底面是A面,且此时A面中心在原点,“向前”方向为Y轴正方向。可以对该四面体执行指令左转(L)、右转(R)、后转(B)。s是一个输入的指令串。维护m个操作,操作分为三类: (1)修改s的一个字符 (2)询问s执行结束后,地面中心距离原点的距离 (3)询问某段时间内,A成为底面的次数 例题 2.7 例题 2.8 问题描述 有一个2*n的点阵,平行于坐标轴的方向上相邻的点之间可以连边,维护以下操作: (1)在某两点之间连边(可以连边的话) (2)拆除某条边 (3)询问某两点是否连通 例题 2.8 例题 2.9 问题描述 白雪公主和n个小矮人住在森林里,当小矮人们排成一排向外走的时候,每个人头上都戴了一顶帽子,每顶帽子有一种颜色。这时候白雪公主给他们拍照片,共拍了m张,每张照片包括了队伍中连续的几个小矮人。 白雪公主认为,如果一张照片中某种颜色的帽子超
您可能关注的文档
- Usin language高一英语必修4第2单元.ppt
- Usin language上课.ppt
- u大师U启动盘给让你方便装系统.doc
- V + ing 形式用法归纳.ppt
- VB 图图像编程.ppt
- vb6. 图形控件和图形方法.ppt
- VB程序计-第3章Visual Basic语言语法基础.ppt
- vb第一 VB可视化程序设计概述.ppt
- VC程序计实验指导.doc
- Venl型玻璃温室设计方案.doc
- 2025年智能家居与智慧养老社区融合应用案例研究.docx
- 2025-2030年全球新能源汽车动力系统市场潜力与投资机会报告.docx
- 2025年老年健康服务行业市场细分领域发展前景与趋势报告.docx
- 北方华创薄膜沉积设备2025年技术升级与产业升级分析.docx
- 2025年智能采矿行业智能化矿山建设技术路线图.docx
- 2026届广东省珠海市化学高二第一学期期中教学质量检测试题含解析.doc
- 风险自查报告.docx
- 2025年新能源汽车市场消费趋势研究报告.docx
- 未来五到十年农业机械化可持续发展策略分析报告2025版.docx
- 农业机械化全程全面应用市场细分领域分析报告:2025年行业深度研究.docx
最近下载
- YST 582-2013 电池级碳酸锂.pdf
- 淘股吧高手语录.docx VIP
- 2024~2025学年上学期七年级第一次月考数学试题(含答案).pdf VIP
- GB-T6284-1986化工产品中水分含量测定的通用方法重量法.pdf
- MSC:人工智能赋能可持续发展和投资白皮书.pdf VIP
- 24J306 窗井、设备吊装口、排水沟、集水坑图集.docx VIP
- 2014年深圳市坪山新区主要病媒生物监测及白纹伊蚊抗药性研究.pdf VIP
- T∕CBDA 69-2023 建筑装饰装修碳排放计算标准.pdf
- 国际私法(暨南大学)中国大学MOOC 慕课 章节测验 期末考试答案.docx VIP
- 金风2.5MW机组运行维护手册(1)(1).doc VIP
文档评论(0)