统计的力量——线段树
* 清华大学 张昆玮 * 每个节点表示它和子树的信息总和 平衡树旋转时更新线段树的域 哇,会动的线段树…… * 清华大学 张昆玮 * 既要区间修改又要区间求和使用自顶向下的标记下传即可 为了处理区间反转增设一个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@ * 清华大学 张昆玮 * * * 清华大学 张昆玮 * 点查询:查询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) * 清华大学 张昆玮 * 如果有了区间减法…… 线段树就能如虎添翼 如“区间和”变成“前缀和” 操作能简单不少 同时也是能够使用树状数组的条件 但这不是必需的(和区间加法比一比) 我说过后面要讲的嘛 * 清华大学 张昆玮 * * 清华大学 张昆玮 * 维护一个数据结构支持 整数插入 取最大 整数范围是0~65535好了 * 清华大学 张昆玮 * 堆当然可以 但是刘汝佳老师的黑书上有大招! “分段哈希”…… 分成若干段,存下“段里面有没有数”信息 * 清华大学 张昆玮 * * 清华大学 张昆玮 * 如果多来几层呢? 3层?4层?…… 到每个节点下面都只有两个点为止! …… 我们得到了什么…… * 清华大学 张昆玮 * * 清华大学 张昆玮 *
您可能关注的文档
- 统战系统知识竞赛必答题1.doc
- 统计(折线)五年级下册数学.ppt
- 统计图表—折线图53810.ppt
- 统计学第3章 单变量描述统计 课件.ppt
- 统计技术3.doc
- 统计规律、理想气体的压强和温度.doc
- 绩效原理分折ppt.ppt
- 绪论 第1章.ppt
- 3D打印建筑垃圾试题库及答案.doc
- 5A 景区服务质量等级评定标准单选试题库及答案.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 2024年中考数学复习(全国版)第09讲 函数与平面直角坐标系(讲义)(解析版).docx VIP
- 2026届陕西省西北工业大学附中物理高二上期末教学质量检测试题含解析.doc VIP
- 建筑施工现场安全技术交底大全(免费下载).doc
- 横河CS3000中国培训中心中文资料.ppt VIP
- 中医内科学脑系病症试题.doc VIP
- 2025年新版麻醉记录单.docx VIP
- 中医内科学:中医内科学脑系病证考试题.docx VIP
- 2024学年七年级上学期期末生物试题(含答案) .pdf VIP
- 《骨科急救与创伤处理》课件.ppt VIP
- 《针刺伤预防与处理》团体标准解读与实践PPT课件.pptx VIP
原创力文档

文档评论(0)