线段树及其应用.ppt
线段树及其应用 江苏省华罗庚中学 杨志军 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
您可能关注的文档
- 第03讲第2章焊接结构制造工艺规程②焊接工艺规程.ppt
- 第05讲-第2章焊接结构制造工艺规程④补充-焊接结构工艺性设计.ppt
- 第09章引用及其应用.ppt
- 第09章离子交换设备及计算.ppt
- 第1讲__绪论、胶体的制备与性质.ppt
- 第2章水煤浆的制备与应用—中国矿大—北京,徐志强-4万字-20080215.doc
- 第2章试样的采集、制备与分解.ppt
- 第2篇 炼油装置设备腐蚀与防护.ppt
- 第2节、基因工程及其应用.ppt
- 第2讲 定向井、水平井专用工具.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)