# 📌 数学推导目标 我们希望算出: 对一个固定的查询点 qqq,在所有 n!n!n! 条线段插入顺序下,它的查询路径(走 DAG 的节点数)平均是多少? # 🧱 定义记号 XiX_iXi​:第 iii 条线段插入时,是否导致查询路径中新增了一个节点。 是:Xi=1X_i = 1Xi​=1,否:Xi=0X_i = 0Xi​=0 那么 ∑i=1nXi\sum_{i=1}^n X_i∑i=1n​Xi​ 表示:最终查询路径长度 我们关心的是期望值:E[∑Xi]\mathbb{E}\left[\sum X_i\right]E[∑Xi​] # 🎯...

# 1. 平面点定位问题 首先代入日常生活,就如同我们使用地图软件一般,我们点击某个点的时候,我们需要快速判断出我们点的是哪个区间的点。 自然而然的可以想到的就是暴力法,即每次搜索点的时候都通过线性扫描扫描所有的点,但是这样的效率太低了,每次都需要 O (n) 的时间复杂度,所以接下来我们考虑别的方式 # 1.1 垂直切分法(Vertical Slab Decomposition) 如图所示,我们可以按照每个点所在的 y 轴进行切分,然后根据二分查找,第一次找出点所在的 slab。 然后,找出在哪个 slab...

# 🎯 1. 背景与目标 # 📌 应用场景 轨迹数据广泛存在于以下应用中: GPS 路径(车辆、手机用户行驶轨迹) 雷达 / 卫星跟踪(如台风移动路径) 动物迁徙轨迹(如候鸟、鲸鱼) 运动轨迹数据(如跑步者、球员移动) 这些轨迹数据常常由很多点组成,呈折线状。 # 🧠 分析目标: 从这些轨迹中提取有意义的行为模式,例如: 找出聚集区域(多个个体集中活动); 分析路径形状(如迁徙路线); 进行预测分析(如风暴路径预测)。 # ❓ 要解决的两个核心问题 相似性问题: 给定两条轨迹,如何判断它们的相似程度? 哪些方法能更准确刻画...

# 1. 为什么需要逼近算法? # 1.1 计算难度:NP-Hard 很多现实中的优化问题都是 NP-hard,即没有已知的多项式时间算法。 例如:Euclidean TSP(旅行商问题)、Quadratic Assignment(二次指派问题)等。 这些问题只能在小规模实例上通过精确算法解决。 # 1.2 运算成本高 即使问题不是 NP-hard,在高维空间或大规模数据下,精确算法也往往太慢。 举例: 2D 最小生成树:O(nlog⁡n)O(n \log n)O(nlogn) 高维 kkkD 最小生成树:O(n2)O(n^2)O(n2) 使用逼近算法可将其降至...

# 1. 问题定义:什么是 Planar Point Location? 目标:给定一个平面细分(由线段将平面划分成多个不重叠区域),我们希望预处理它,使得对于任意查询点 qqq,可以快速判断它位于哪个区域(face)中。 输入:包含 nnn 条边的平面细分 SSS。 查询:给定一个点 qqq,返回包含它的面。 # 2. 第一种方法:暴力线性扫描 思路:遍历所有面,检查查询点 qqq 是否落在其中。 做法: 对每个面进行点在多边形内的判断(如射线法或环绕数方法)。 时间复杂度: 每个面 O(k)O(k)O(k),总共...

# 1. 点线对偶(Point-Line Duality) 点线对偶是计算几何中的一种基本变换思想,它允许我们在平面上将点与线互相转换,并在保持几何关系的前提下,从不同的角度简化问题。 # 1.1 什么是点线对偶 点线对偶(也称为几何对偶)是一种函数或映射,将平面中的一个几何对象(如点)转换为另一种对象(如直线),并且可以保持或反映其之间的几何关系,如: 点与直线的交关系; 点在线的上下方位置关系; 共线性、共点性等结构性质。 这种变换是一一对应的,即每个点对应唯一的一条线,反之亦然(在限定条件下)。 # 1.2...

# 决策树 1234567891. SELECT DISTINCT store_id FROM Tx WHERE month = 5;2. SELECT DISTINCT c.name FROM Tx t JOIN Tx_Cakes tc ON t.tx_id = tc.tx_idJOIN Cake c ON tc.cake_id = c.cake_id WHERE t.month = 5;3. SELECT t.month,SUM(t.value) AS total_value,AVG(t.value) AS avg_value,COUNT(tc.cake_id) AS...

# Voronoi 图复杂度的欧拉公式证明 我们希望证明:对于 n>2n > 2n>2 个点的 Voronoi 图 V(P)V(P)V(P),其复杂度是线性的: 顶点数 ≤2n−5\leq 2n - 5≤2n−5 边数 ≤3n−6\leq 3n - 6≤3n−6 # 📐 使用欧拉公式 欧拉公式是平面图中的基本定理: V−E+F=2V - E + F = 2 V−E+F=2 其中: VVV 是顶点数 EEE 是边数 FFF 是面数(Voronoi cell 数量,即原始点数 nnn) # 🔧 添加虚拟点使图封闭 由于...

# Lecture 9: Streaming and Sketching II - 内容总结 # Part1 引入流式算法以及解决方案 # 🧩 课程引入:流式算法的挑战 数据以流的形式连续到达,不能全部存储。 算法 A 读取前一部分数据后输出结果 21.5 。 结果还没来得及用,更多的数据又到达了。 再运行 A 得到新的结果 18.1 。 关键问题: 如何把两个结果合并成一个整体答案? # 🧠 引入 Sketching 的概念 对每段数据 σ ,算法 A 生成一个摘要: S(σ) ,称为 sketch。 特性: S(σ) 是对数据的压缩表示; 可以从 S(σ)...