- Algorithm
- Incremental Method
- Simulation
- Backtracking
- Dynamic Programming
- Largest Empty Interval
- Location Allocation Problem
- Knapsack Problem
- Algorithm Analysis
- Data
- Sort
- Set
- 排序资料结构: Search Tree 系列
- Sequence 资料结构: Array / List
- 大量 Point 资料结构: k-Dimensional Tree
- Region 资料结构: Uniform Grid
- Graph
- Tree 资料结构: Heavy-Light Decomposition
- Graph Spectrum(Under Construction!)
- Tree
- Binary Tree
- Directed Acyclic Graph
- Articulation Vertex / Bridge
- Reachability
- Bipartite Graph
- Clique(Under Construction!)
- Planar Graph
- Path
- Single Source Shortest Paths: Label Correcting Algorithm
- Shortest Walk
- Cycle
- Spanning Tree
- s-t Flow
- Feasible s-t Flow
- Cut
- Matching
- T-Join
- Hamilton Circuit
- Domination
- Coloring
- Labeling
- Vector Product
- Sweep Line
- Rectangle
- Rectangle
- Polygon
- Convex Hull
- 3D Convex Hull(Under Construction!)
- Half-plane Intersection
- Voronoi Diagram
- Triangulation
- Metric
- Number
- Sequence
- Function (ℝ)
- Matrix
- Root Finding
- Linear Equations
- Functional Equation
- Optimization
- Interpolation
- Curve
- Regression
- Estimation
- Clustering
- Transformation(Under Construction!)
- Wave (ℝ)
- Representation
- Signal
- State(Under Construction!)
- Markov Chain
- System(Under Construction!)
- Markov Model
- Function
- Gray Code
- Base
- Divisor
- Prime
- Residue
- Lattice
- Series(Under Construction!)
- Average Number
- Nim
- String
- Longest Increasing Subsequence
- Longest Common Subsequence
- Approximate String Matching
- String Matching
- String Matching
- String Matching: Inverted Index
- Count Substrings
- Palindrome
- Language
- Code
- Compression
- Correction
- Encryption
- Transmission
- Data
- Text
- 2D Graphics
- Audio
- Audition(Under Construction!)
- Image
- Vision(Under Construction!)
- Model
- Motion(Under Construction!)
- Camera(Under Construction!)
- Glass(Under Construction!)
- Computer
- Physics
- Biology
- Medicine
- Finance
- Education
- Standard Library
Rectangle
摆得很正的矩形,四个边都平行于座标轴
经过数学课程洗礼,大家看到矩形都是直觉想到长与宽。然而在计算几何当中,我们倾向记录左下角座标(X 座标、Y 座标的下界)与右上角座标(X 座标、Y 座标的上界)。
就算矩形退化成线段、点,这种记录方式也不会有问题。
UVa 460 191
矩形相交
要判断矩形相交相当麻烦,相交的情形有许多种。
逆向思考,事情就变得容易多了:判断矩形不相交!以第二个矩形作为基准,第一个矩形完全落在其左方、右方、下方、上方,就是不相交。
如果是空心矩形,那麽还得侦测第一个矩形是不是被第二个矩形框住。
大量矩形交集,之一
两个矩形的交集还是矩形(可能退化成线段、点)。运用 Incremental Method 进行推理,大量矩形的交集当然还是矩形。
採用 Incremental Method,一次读入一个矩形,不断更新交集。时间複杂度 O(N),N 是矩形数量。
大量矩形交集,之二
http://algo.kaust.edu.sa/Documents/cs372l07.pdf
大量矩形联集,之一
将联集区域切割为数个矩形。採用 Incremental Method,一次读入一个矩形,不断更新联集。
下面这段程式码仅计算联集面积。至于联集多边形,就请读者自行研究了。
Circle
圆形
记录圆心、半径。
UVa 10180 10425 10674 ICPC 4120
圆形相交
判断相交:圆心距大于等于半径差、小于等于半径和。
求得交点:一、馀弦定理,用半径、圆心距求得半个扇形角。二、圆心向量,顺时针和逆时针旋转,缩放成半径长度。
大量圆形联集
http://oi.abcdabcd987.com/ciru/
UVa 10969 ICPC 3532
Triangle
三角形
记录三个顶点,以逆时针顺序记录。
UVa 11122 11275 11836
大量三角形联集
我没有研究。
ICPC 3809
Helly's Theorem
Helly's Theorem
http://en.wikipedia.org/wiki/Helly's_theorem
一、一堆凸的东西,交集也是凸的。
二、二维的情况下,任选三个一组皆有交集,则全部合起来也有交集。三维的情况下,任选四个一组皆有交集,则全部合起来也有交集。以此类推。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论