计算几何习题(简单)

凸包:切了它以后,我跳入计算几何的坑


旋转卡壳:基于凸包的模板,在凸包代码的基础上加一个 \(getmax\) 的操作(即查询凸包的直径),用我感觉有点贪心(?)的思想去枚举每一条凸包上的边,取到最大的三角形(\(S=lh/2\),\(l\) 不变,\(S\) 越大 \(h\)越大)即可


信用卡凸包:暴力建点做凸包,又可以发现转角处的弧长和加起来即为一个圆的周长


令人振奋的双倍经验!
Wall
|
城墙

都只是凸包的板子,转角处的弧长和加起来又是一个圆的周长


最大土地面积:咕咕咕


凸轮廓线:如果我说我是暴力加点过的你会打死我吗
但这本来是一道黑题欸 /se /se /se

这道题听说 \(O(n)\) 也能做,但我反正那么菜也不打了(暴力真香


防线修建:咕咕咕


Airport:搞一个凸包模板,最后 \(O(N)\) 枚举每条凸包的边,算出距离和,取最小值

注意点:

  • 不要像俞开一样sb,多测不清空
  • 不要像俞开一样sb,不特判凸包点数小于等于2的情况
  • 不要像俞开一样sb,到处用除法,误差裂开

哇,我竟然把这题做出来惹~

动态维护凸包

\(Sol\)


Convex Hull

死马UVa又炸了,硬是使我从上午 8:00 等到下午 4:00

\(OIwiki\) 上顺过来的水模板,排序即可

注意点:

  • 因为要从 \(x\) 坐标最小开始,所以要输入时 \(x\),\(y\) 坐标反着输,输出也反着,但是这样要注意,就是说本来是从第一个点逆时针转,是对的,但现在变成了顺时针(可以自己画图理解一下),于是要先输出第一个包上点,再逆序输出剩下点

多边形:半平面交板子题

双倍经验


暴力出奇迹!!!

这题
我用暴力拿了最优解!震惊

正解 \(Voronoi\) 图,但是我用二分加分治艹过去了


温馨提示:由于笔者较菜,有些题可能会咕咕咕∞年

posted @ 2022-03-23 11:16  俞开  阅读(79)  评论(0)    收藏  举报