一遇到数学题和计算几何题我就要调半天……玛雅,我真是太弱了……基本思路很简单,先上凸包,然后矩形与凸包一边重合,然后旋转卡壳即可然而我没怎么写过计算几何题,一开始写的各种囧,后来看了hzwer的写法才写得正常一些一开始写囧,是找矩形的左右边界,用勾股定理算的,囧得不行;后来发现可以用点积来判断,点积...
分类:
其他好文 时间:
2015-06-04 20:49:00
阅读次数:
130
矩形面积
Accepts: 717
Submissions: 1619
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
Problem Description
小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些矩形包...
分类:
其他好文 时间:
2015-06-03 15:54:27
阅读次数:
131
题意:n*4个点,求覆盖所有点的最小矩形面积;思路:凸包+旋转卡壳,uva10173几乎原题,暂时没写出来,贴一下斌神的码,待补;#include #include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2015-05-31 01:21:43
阅读次数:
226
计算几何/旋转卡壳 从已知点中选出四个使得选出的四边形面积最大,很明显我们应该在凸包上搞。 我一开始的思路是:枚举 i ,找到 i 的对锺点cur1,这两个点将凸包分成了两半,我们在左半中枚举一个 j ,然后在右半中找一个离 j 最远的“对锺点”(可能不是?反正找的是最远……)cur2,然后求c.....
分类:
其他好文 时间:
2015-05-13 19:10:13
阅读次数:
127
先把位于凸包的点求出,然后n^2枚举每两个点x,y,接着左右边找个离线最远的点。可以知道,当x不变y单调递增时,两边距离最远的两点也在单调递增。于是可以使用旋转卡壳。#include #include #include #include #include #include #include #def...
分类:
其他好文 时间:
2015-05-05 21:38:48
阅读次数:
136
模板 凸包 旋转卡壳lrj 《训练指南》 P272对于个点按照 x 从小到大排序,再按照 y 点从小到大排序,删除重复的点后,得到序列 p0,p1,p2...,把 p0 和 p1 放入凸包。 从p2开始,当新点在凸包“前进”方向的左边时继续,否则依次删除最近加入凸包的点,直到新点在左边PS:判断用叉...
分类:
其他好文 时间:
2015-05-03 22:07:38
阅读次数:
145
模板 旋转卡壳 凸包好早以前看的,现在再记下来吧,当做复习一遍。那么,先提一下最基本最暴力的求凸包直径的方法吧---枚举。。。好吧。。很多问题都可以用 枚举 这个“万能”的方法来解决,过程很简单方便是肯定的,不过在效率上就要差很远了。 要求一个点集的直径,即使先计算出这个点集的凸包,然后再枚举凸包上...
分类:
其他好文 时间:
2015-05-03 22:02:30
阅读次数:
148
旋转卡壳 到现在依然不确定要怎么读... 以最远点对问题为例,枚举凸包上的两个点是最简单的想法,时间复杂度O(n2) 我们想象用两条平行线卡着这个凸包,当其中一个向某个方向旋转的时候另一个显然也是朝同样的方向旋转 所以在枚举其中一条边的过程中完全没有必要重新枚举另一条边 而且对于一条边而言...
分类:
其他好文 时间:
2015-04-14 08:24:42
阅读次数:
157
旋转卡壳的经典应用,实现时直接比较角度。 1 /************************************************************** 2 Problem: 1185 3 User: idy002 4 Language: C++ ...
分类:
其他好文 时间:
2015-04-11 16:19:22
阅读次数:
221
计算几何
做的题目很少, 而且模版也不熟. 所以还有这几天的时间, 把几个经典的算法弄熟弄懂, 模版能打出来就行了吧.
1. 凸包
2. 旋转卡壳
3. 半平面交
题目:
1. [codevs 1249] 多边形的面积 求多边形面积, 要理解叉积的意义.
2. [codevs 1298] 凸包周长 [codevs 3201] 奶牛代理商 XI 凸包周长
3. [codevs 1...
分类:
其他好文 时间:
2015-04-05 12:01:08
阅读次数:
126