如你所见,这是二维凸包的模板题.
我用的是水平序的
\(Andrew\) 算法,是从毒瘤汝佳那里学的.
先按照水平序对点排序.水平序就是先按照
\(x\)坐标排序,相同再排
\(y\)坐标.
然后从第一个点开始,构造下凸壳.
具体就是每次比较栈顶元素和当前元素组成的向量和栈顶的两个元素组成的向量的位置关系.
能向下就向下,一直到构造完下凸壳.再同理构造上凸壳.两个凸壳接在一起就是一个完整的凸包.
好了讲完了(如果说得不清不楚不要怪我,我写的时候精神状态极差),下面是这题的代码:
\(Code:\) #include #include #include #include #include #include #include #include #include #include #include