* 清华大学 张昆玮 * 平衡树 splay 可以支持: 区间删除 区间插入 线段树可以支持 区间增加一个数 区间求和 把线段树的值放在平衡树的节点上 * 清华大学 张昆玮 * 每个节点表示它和子树的信息总和 平衡树旋转时更新线段树的域 哇,会动的线段树…… * 清华大学 张昆玮 * 既要区间修改又要区间求和使用自顶向下的标记下传即可 为了处理区间反转增设一个bool值表示当前节点左右子树已经互换 先把区间从树中splay出再处理 要同时更改所有节点的反转标记?不记录反转标记,记录反转标记的标记(!) * 清华大学 张昆玮 * 但是所有部分都是相对简单的! 一点点写,只是很多很多小题而已…… 关于线段树,我们讲的已经太多了…… * 清华大学 张昆玮 * * 清华大学 张昆玮 * K-th number 的另一个方法 如果区间互不包含,将所有要求的区间排个序来算。 用平衡树或线段树存下当前区间中的数 然后向下一个区间移动 左端点增加是数的删除 右端点增加是数的添加 每个数进出各一次而已 * 清华大学 张昆玮 * 关键在于合理的计算方式使得相邻区间的差异尽量小 从一个区间变为另一个区间的代价是多少? 把区间看作二维平面的坐标 代价就是两个平面点的Manhattan距离! 然后呢?Hamilton路? 不!一个已知的区间可以用来算很多个未知的! 平面图Manhattan距离最小生成树。 * 清华大学 张昆玮 * 平面图Manhattan距离MST可以在O(nlogn)求出 先对Q个问题用这个方法处理 再按照MST的顺序和方法实际计算 求数学大牛分析总复杂度 虽然绕了很多弯路,但是有一种用模型解决实际问题的感觉。居然MST还能用来做预处理呢…… * 清华大学 张昆玮 * 听了这么久,一起做一道练习题吧…… 给定一列n个数,和m个区间,求每个区间里的众数出现了多少次。 对于10%的数据n100, m100对于30%的数据n1000,m1000对于50%的数据n100000,m100000对于70%的数据n1000000,m1000000以上数据中区间互不包含。 对于其余30%,n10000,m10000,区间可包含 E-mail:aceeca.135531@ * 清华大学 张昆玮 * * * 清华大学 张昆玮 * 最长上升“区间列” 在一个区间列中按顺序找出最多区间使得不重叠,单调增 如 [1,3] [2,4] [4,5] 答案是[1,3]+[4,5] 动态规划的可行决策是什么呢?如果要使上升列长度大于x,最后一个数最小是多少,记为f[x] 维护f[x]支持点查询和区间修改。 * 清华大学 张昆玮 * 点查询:查询x处f[x]的值 区间修改:x左边的所有超过K的值,变为K 把x的左右换一下……(囧) 整个f[-x]就是单调减的 一个单调减的序列可以看作是由一个普通序列经过前缀min得到的! 前缀min的逆运算是什么呢? 我们并不关心 * 清华大学 张昆玮 * 我们现在要维护的就是前缀min的逆运算后的原序列! 可是我们甚至不知道前缀min的逆运算是什么 不要紧,反正用不到。 点查询:查询x处f[x]的值直接返回维护序列的前缀min 区间修改:x左边的所有超过K的值,变为K把维护序列中的f[x]变为K * 清华大学 张昆玮 * 不要迷恋哥,哥只是个传说…… * 清华大学 张昆玮 * * 清华大学 张昆玮 * 说了这么多,能使用线段树解决问题的关键: 区间加法,即区间的“性质”由子区间完全决定 包括但不仅限于求和,求最值,求染色状态 这里的“性质”有点像动态规划的状态表示 有时候,求的更多反而更容易 最简单的例子:求区间第二最值 如果实在不满足区间加法,就全完了 * 清华大学 张昆玮 * 我们都知道线段树求区间平均值不难 那求一个区间中位数试试? 什么,还不难? 那你再求个众数? …… * 清华大学 张昆玮 * 越来越难的原因很简单 知道两区间的中位数,就知道和区间的中位数? 知道各自众数有什么用? …… * 清华大学 张昆玮 * 给定一列数,反复求区间第k大数。 要求的更多反而更容易……更容易…… 线段树的每个区间必须保留更多的信息! 每个区间中存下区间所有数的有序数组 通过归并完成区间加法 * 清华大学 张昆玮 * 如果每做一次查询就归并若干个线段 复杂度就会达到O(n) 离散化!二分答案! 变为求:x是区间第几大数? 这可以分别二分查找若干线段得到。 总复杂度O(nlogn+Q*log2n) * 清华大学 张昆玮 * 如果有了区间减法…… 线段树就能如虎添翼 如“区间和”变成“前缀和” 操作能简单不少 同时也是能够使用树状数组的条件 但这不是必需的(和区间加法比一比) 我说过后面要讲的嘛
您可能关注的文档
- X线读片技能培训解答.ppt
- y1-2第一讲-下-城市规划思想发展解答.ppt
- YAMAHA机型性能简介解答.ppt
- YK机组的日常操作及保养解答.ppt
- yxf蜗牛二解答.ppt
- z c s解答.ppt
- ZARA服装企划解答.ppt
- zhou创新是民族进步的灵魂.新解答.ppt
- zxd2015化学反应速率和化学平衡7解答.ppt
- zz01供电_解答.ppt
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- 启动锅炉检修施工方案.docx VIP
- Yamaha 雅马哈 乐器音响 CLP-825_Owner's Manual 用户手册.pdf
- EJ_T 1212.4-2008烧结氧化钆-二氧化铀芯块分析方法 第4部分:微量杂质元素的测定—ICP-AES多元图谱拟合法.pdf
- 2026中考数学压轴题每日一题(120题).docx VIP
- formel-q v8(质量能力-软件).pdf VIP
- VW 01129-2024 摩擦系数限值 带公制ISO螺纹的钢机械紧固件(中文).pdf
- 危险性较大的分部分项工程专项施工方案编制指南 - 建办质〔2021〕48号(20211208)306.pdf VIP
- 儿童糖尿病的护理.pptx VIP
- (康德一诊)重庆市高2025届高三第一次联合诊断检生物试卷(含答案).docx
- 仪器使用记录.doc VIP
原创力文档

文档评论(0)