- 6
- 0
- 约1.58万字
- 约 59页
- 2017-06-05 发布于湖北
- 举报
线段树及其应用概要
线段树及其应用 江苏省华罗庚中学 杨志军 oldsheep@ 为什么要用线段树? 为什么要用线段树? 为什么要用线段树? 为什么要用线段树? 为什么要用线段树? 为什么要用线段树? 线段树的结构 线段树的结构 线段树的结构 线段树的性质 线段树的存储方式 线段树的基本操作及实现 线段树的基本操作及实现 线段树的维护方法 线段树的维护方法 (1)对元素进行修改 (2)对区间进行查询 (3)对区间修改(统一加上一个数) (4)对区间查询 (5)对区间修改(设置为同一个数) (6)对区间查询 线段树的维护方法 线段树的维护方法 为什么要用线段树? 应用举例 应用举例(线段覆盖) 应用举例(线段覆盖) 应用举例(线段覆盖) 应用举例 应用举例(售票系统) 应用举例(售票系统) 应用举例(售票系统) 应用举例(售票系统) 算法改进 应用举例 应用举例(采矿) 应用举例(采矿) 应用举例 应用举例(面积) 应用举例(面积) 应用举例(面积) 应用举例(面积) 应用举例 应用举例(蛇) 应用举例(蛇) 应用举例(蛇) 应用举例(蛇) 线段树与RMQ的比较 线段树与RMQ的比较 线段树与树状数组的比较 线段树与平衡树的比较 参考资料 晚间讨论 例3、售票系统 某次列车途经C个城市,城市编号依次为1到C,列车上共有S个座位,每一个售票申请包含三个参数,分别用O、D、N表示,O为起始站,D为目的地站,N为车票张数,售票系统对该售票申请作出受理或不受理的决定。只有在从O到D的区段内列车上都有N个或N个以上的空座位时该售票申请才被受理。1=C=60000,1=S=60000,1=R=60000,C为城市个数,S为列车上的座位数,R为所有售票申请总数。 输入: 4 6 4 1 4 2 1 3 2 2 4 3 1 2 3 输入: YES YES NO NO 可以把所有的车站顺次放在一个数轴上,在数轴上建立线段树,在线段树上维护区间的delta与max,每次判断一个售票申请是否可行就是查询区间上的最大值;每个插入一个售票请求,就是给一个区间上所有的元素加上购票数。 procedure build(cur:node;l,r:longint);begin cur^.left:=l; cur^.right:=r; if l=r then begin cur^.leftchild:=nil; cur^.rightchild:=nil; cur^.delta:=0; cur^.max:=0; end else begin new(cur^.leftchild); new(cur^.rightchild); build(cur^.leftchild,l,(l+r) div 2); build(cur^.rightchild,(l+r) div 2+1,r); end;end; procedure update(cur:node;l,r,delta:longint);var lc,rc:node;begin lc:=cur^.leftchild; rc:=cur^.rightchild; if (l=cur^.left) and (r=cur^.right) then begin cur^.delta:=cur^.delta+delta; cur^.max:=cur^.max+delta; end else begin if l=(cur^.left+cur^.right) div 2 then update(lc,l,r,delta); if r(cur^.left+cur^.right) div 2 then update(rc,l,r,delta); if lc^.maxrc^.max then cur^.max:=lc^.max+cur^.delta else cur^.max:=rc^.max+cur^.delta; end;end; function querymax(cur:node;l,r:longint):longint;var lc,rc:node; ret:long
您可能关注的文档
最近下载
- 附件: 黑龙江省年“村村大学生计划(培养)” 招 生 简 章 “村村 .doc VIP
- 往年江苏省教师招聘考试教育学心理学真题及答案.docx VIP
- 国资集团考试试题及答案.docx VIP
- 部编版语文一年级下册阅读11《浪花》课件PPT.pptx VIP
- 2018海湾GST-QKP04、GST-QKP04 2气体灭火控制器说明书.docx
- 浙江省杭州市西湖区之江中学2024-2025学年高二上学期期末数学试题(解析版).docx VIP
- 人教版五年级上册数学期末测试卷及参考答案ab卷.docx VIP
- [中央]2025年中国建设银行建信养老金管理有限责任公司校园招聘20人笔试历年参考题库频考点试题附带答案详解.docx
- 海南省公务员考试模拟试题库《行测》部分及参考答案.docx VIP
- BS EN 14540-2014 国外国际规范.pdf VIP
原创力文档

文档评论(0)