随笔分类 - 计算几何——凸包与凸壳
摘要:III.李超线段树 李超线段树是一种可以维护动态凸包的线段树。更准确地说,其可以支持的常规操作有两种: 在平面直角坐标系中插入一条线段。 询问在坐标系中的一个点 \((x,+\infty)\) 向下看,能看到的点的坐标。换句话说,是一条自无穷高处引下的垂线与所有线段的交点中最高的那个点。 其具体实现
阅读全文
摘要:XXIX.CF1195F Geometers Anonymous Club 闵可夫斯基和是关于两个凸包的运算,其几何意义是所有来自两个凸包内部的向量之和所构成的集合。 可以被证明的是,两个凸包的闵可夫斯基和,可以通过对两个凸包上的边按照极角大小排序后依次首尾相接得到。 回到本题。依照我们上述理论,我
阅读全文
摘要:XXVII.CF611G New Year and Cake 做题时居然忘记了叉积满足分配律/jk 我们先将图形翻转成为逆时针排布。 首先,我们发现,若总图形的面积是 \(area\),切完后,较小一半的面积是 \(nowarea\),则贡献是 \(area-2nowarea\)。 我们记点 \(p
阅读全文
摘要:XXVI.[SHOI2012]信用卡凸包 一种异端想法是因为只需保证两位精度所以直接在每个半圆上取 \(100\) 个点代表该半圆,没有试过,但说不定也能过…… 书归正传。 我们考虑画出最终所得到的图形,发现其就是一堆小扇形,再加上中间的“裁去边角后的信用卡”的部分。大眼观察可得那堆小扇形拼一起就得
阅读全文
摘要:XV.CF1045E Ancient civilizations 神题。 我们先考虑如果凸包上只有三个点时的情形。 假如该三个点是同色的,我们考虑能否在该三角形内部找到一个异色点。假如能找到,我们便可以将这个大三角形拆分成三个小三角形,每个小三角形以该异色节点和凸包上两个点为顶点,这就使得小三角形的
阅读全文
摘要:XIV.CF70D Professor's task 没错,我们提到之前的Andrew算法的目的,就是为了运用在这题上——动态凸包。 明显这题不能用Graham,因为我们并不能找到一个固定的、一直在凸包上的点。 我们使用两个std::set来分别维护上下凸壳,当插入一个节点时,就向前向后不断删节点即
阅读全文
摘要:XIII.[USACO5.1]圈奶牛Fencing the Cows /【模板】二维凸包 相信大家都知道Graham算法(gift wrapping)。但是这个算法不好推广。这里使用便于推广的Andrew算法。 具体而言,本算法将所有点按照$x$为第一关键字,$y$为第二关键字排序,然后从前往后扫一
阅读全文
摘要:IX.[ZJOI2008]瞭望塔 ZJOI2008咋总喜欢考这种计算几何的题啊…… 同我们的IV.监视摄像机[CTSC1998]一样,本题相当于求多边形的核,可以使用半平面交。但因为和VI.[HNOI2008]水平可见直线一样,所有半平面都是向上的,故直接求凸包即可。 发现求完凸包后,答案的横坐标一
阅读全文
摘要:VI.[HNOI2008]水平可见直线 一开始以为这是半平面交模板;后来一想,直接求出凸包来就行了。 我们仍然将所有直线按照斜率从小到大排序。不过这时,我们只需要使用单调栈维护即可。 具体而言,设栈顶次位、首位直线分别为$y=k_1x+b_1,y=k_2x+b_2$ 则其交点位于 \(\Bigg(\
阅读全文
摘要:XV.[Codeforces GYM 101002K] YATP (没有单独的页面,就放个到大页面的连接罢) 我们考虑先套一个点分治。点分治后,考虑计算所有LCA为根节点的对中,最优的那些对。 我们考虑就算某两个点它们位于同一棵子树内也不要紧——这里它的权值被表示成 \(dep_i+dep_j+a_
阅读全文
摘要:CXXXV.[ZOJ3989]Triangulation 神题。 这个数据范围很难不让人想到状压DP。于是我们考虑应该怎么设计状态。 考虑一组三角剖分的形态:其必定是在所有点所构成的凸包内部划分出很多三角形。这也就表明,任何一组三角剖分一定包含所有凸包上的边。 我们可以想到一个比较简洁的DP:设 \
阅读全文
摘要:CXXXI.[GYM102331J]Jiry Matchings 首先,不难想到一个 \(O(n^2)\) 的树上背包:设 \(f_{i,0/1,j}\) 表示在以 \(i\) 为根的子树内,其中 \(i\) 没有被匹配/被匹配了,且整个子树中共匹配了 \(j\) 条边的最优方案。考虑优化。 我们知
阅读全文

浙公网安备 33010602011771号