
几何 - 二维几何常用算法
几何 - 二维几何常用算法
繁凡さん
只想当个小透明,就图一乐^q^,希望可以做出一些微小的贡献(目前研究方向:自然语言处理、深度学习中的对抗攻击、元学习,欢迎大佬们来与我交流^0^)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CF429D Tricky Function(求解公式、经分析转为求平面最近点对、思维)
整理的算法模板合集: ACM模板目录CF429D Tricky Function题意实际上就是给定长度为 nnn 的一串序列a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,找到两个正整数i,j∈[1,n]i,j\in[1,n]i,j∈[1,n],求(i−j)2+(∑k=i+1jak)2(i-j)^2+(\sum_{k=i+1}^{j}a_k)^2(i−j)2+(∑k=i+1jak)2的最小值分析将原式中的∑k=i+1jak\sum_{k=i+1}原创 2020-10-05 12:27:35 · 426 阅读 · 0 评论 -
POJ2932Coneology(计算几何、平面扫描)
平面上有N NN个两两没有公共点的圆,i ii号圆的圆心在(xi,yi)(x_i,y_i)(xi,yi),半径为rir_iri。求所有最外层的,即不包含与其他圆内部的圆。解析:利用垂直于x轴的线去从左往右扫描,观察点为圆的左右端点。因为圆是没有公共点的,这使得包含的判断变得简单。如果某个圆被包含那么一定是被最近的两个外圈的其中一个圆包含(y轴上),假设这个圆已经被包含,如果远的圆如果想包含这个圆必须把两个圆都包住,那么第一层包裹已经不再是外层。所以如果存在被包括在某个外层里,一定是被包裹在最近的.原创 2020-10-02 19:30:05 · 326 阅读 · 0 评论 -
P1452 [USACO03FALL]Beauty Contest G /【模板】旋转卡壳(计算几何,凸包)
旋转卡壳模板注意本题要输入输出的都是整数,我一般的计算几何模板都是double,用%d输入到double里得到的都是0!#include<bits/stdc++.h>using namespace std;const int N = 50007, M = 50007, INF = 0x3f3f3f3f;const double DINF = 12345678910, eps = 1e-10, PI = acos(-1);struct Point{ int x, y; .原创 2020-10-03 20:24:46 · 353 阅读 · 0 评论 -
UVA10652 Board Wrapping(求凸包、计算凸多边形面积)
有n块矩形木板,你的任务是用一个面积尽量小的凸多边形把它们包起来,并计算出木板占整个包装面 积的百分比【输入格式】 输入第一行为数据组数T(T≤50)。每组数据第一行为木板个数n(2≤n≤600)。以下n行每行5个实数x,y,w,h,j(0≤x,y,w,h≤10000,-90≤j≤90),其中(x,y)是木板中心的坐标,w是宽,h是高,j是顺时针旋转的角度(j=0表示不旋转,此时长度为w的那条边应该是水平方向)。木板保证互不相交。【输出格式】对于每组数据,输出木板总面积占包装面积的百分比,保留..原创 2020-10-02 21:15:08 · 308 阅读 · 0 评论 -
UVA1396 Most Distant Point from the Sea(AM - ICPC - Tokyo - 2007)(计算几何,半平面交 + 二分答案)
题目传送门见《训练指南》P279很明显就是一个二分答案,它问的是最远的点,直接枚举因为这里都是double类型的数所以有无限个点,我们可以直接二分。判定依据就是是否有离海距离不小于mid的点出现,对于每条边来说,这些点形成一个半平面。我们根据二分的mid将整个图进行收缩放大,看能否有一个半平面存在,这个半平面里的所有的点都是距离所有海边的距离大于等于mid的点,极限条件就是整个图的好多个边(有向直线)缩小mid之后的半平面交到了一个点,这个点就是我们要找到点,答案就是mid,再大一点,就不再会形原创 2020-10-03 10:54:23 · 295 阅读 · 0 评论 -
二维几何常用算法合集(平面扫描、凸包、旋转卡壳、半平面交、平面区域、平面最近点对)《计算几何全家桶(二)》
整理的算法模板合集: ACM模板目录1.平面扫描2.凸包Andrew算法直线两点式转为一般式使用公式O(1)计算点到直线距离3.半平面交4.平面区域1.平面扫描平面扫描是用来降低算法的复杂度的方法,通过扫描线在平面上按照给定的轨迹移动的同时,不断根据扫描线扫过的部分更新信息,从而得到整体所要求的结果,既可以从左向右平移与y轴平行的直线,也可以固定射线的端点逆时针转动。平面上有N NN个两两没有公共点的圆,i ii号圆的圆心在(xi,yi)(x_i,y_i)(xi,yi),半径为rir_iri原创 2020-10-02 21:45:42 · 4583 阅读 · 3 评论