随笔分类 - 计算几何—凸包
摘要:题意 "题目链接" Sol $$f[i], f[j] + (h[i] h[j])^2 + (w[i 1] w[j]))$$ 然后直接套路斜率优化,发现$k, x$都不单调 写个cdq就过了 ~~辣鸡noi.ac居然出裸题&&原题~~ cpp include define Pair pair defi
阅读全文
摘要:题意 "题目链接" Sol 这个东西的学名应该叫“闵可夫斯基和”。就是合并两个凸包 首先我们先分别求出给出的两个多边形的凸包。合并的时候直接拿个双指针扫一下,每次选最凸的点就行了。 复杂度$O(nlogn + n)$ cpp include define LL long long // define
阅读全文
摘要:题意 "题目链接" 给出平面上n个点的坐标。你需要建一个围墙,把所有的点围在里面,且围墙距所有点的距离不小于l。求围墙的最小长度。 $n \leqslant 10^5$ Sol 首先考虑如果没有l的限制,那么显然就是凸包的长度。 现在了距离的限制,那么显然原来建在凸包上的围墙要向外移动$l$的距离,
阅读全文
摘要:题意 "题目链接" Sol 直接挂队爷的题解了 分块题好难调啊qwq cpp include define LL long long using namespace std; const int MAXN = 1e6 + 10; const LL INF = 6e18; template inlin
阅读全文
摘要:题意 求凸包 Sol Andrew算法: 首先按照$x$为第一关键字,$y$为第二关键字从小到大排序,并删除重复的点 用栈维护凸包内的点 1、把$p_1, p_2$放入栈中 2、若$p_{i{(i > 3)}}$在直线$p_{i - 1}, p_{i - 2}$的右侧,则不断的弹出栈顶,直到该点在直
阅读全文
摘要:题目背景 此处省略1W字^ ^ 题目描述 贝茜在牛的选美比赛中赢得了冠军”牛世界小姐”。因此,贝西会参观N(2 < = N < = 50000)个农场来传播善意。世界将被表示成一个二维平面,每个农场位于一对整数坐标(x,y),各有一个值范围在-10000…10000。没有两个农场共享相同的一对坐标。
阅读全文
摘要:题目描述 农夫约翰想要建造一个围栏用来围住他的奶牛,可是他资金匮乏。他建造的围栏必须包括他的奶牛喜欢吃草的所有地点。对于给出的这些地点的坐标,计算最短的能够围住这些点的围栏的长度。 输入输出格式 输入格式: 输入数据的第一行包括一个整数 N。N(0 <= N <= 10,000)表示农夫约翰想要围住
阅读全文