HDU 3264 Open-air shopping malls(圆相交面积+二分)
ACM
题目地址:HDU 3264 Open-air shopping malls
题意:
给出一些圆,选择其中一个圆的圆心为圆心,然后画一个大圆,要求大圆最少覆盖每个圆的一半面积。求最小面积。
分析:
枚举每个点,用二分求出需要的圆,更新最小值即可。
其中用到了圆相交面积,可...
分类:
其他好文 时间:
2014-08-15 12:56:48
阅读次数:
181
~~~~
题意:给出两行数字序列,求上下匹配的最多组数是多少.
匹配规则:
1.匹配对的数字必须相同。
2.每个匹配必须有且只能有一个匹配与之相交叉,且相交叉的两组匹配数字必须不同。
3.一个数最多只能匹配一次。
最长公共子序列的改编,令f[i][j]表示第一个序列的前i个数字和第二个序列的前j个数字的匹配的最优值。
状态转移:f[i][j]=max(f[p-1][q-1]+2,...
分类:
其他好文 时间:
2014-08-15 09:31:17
阅读次数:
205
题目地址:POJ 1269
直接套模板就可以了。。。实在不想自己写模板了。。。写的又臭又长。。。。不过这题需要注意的是要先判断是否有直线垂直X轴的情况。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
usi...
分类:
其他好文 时间:
2014-08-14 20:32:59
阅读次数:
165
解题报告
题目传送门
题意:
判断直线的位置关系(平行,重合,相交)
思路:
两直线可以用叉积来判断位置关系。
AB直线和CD直线
平行的话端点C和端点D会在直线AB的同一侧。
重合的话在直线AB上。
剩下就是相交。
求两直线交点可以用面积比和边长比来求。
看下面的图就知道了,推导就比较容易了
#include
#include
#include
...
分类:
其他好文 时间:
2014-08-14 01:38:37
阅读次数:
312
题目链接:点击打开链接
最多的情况就是每个直线和当前平面的所有直线都相交
设当前有x根直线
则加入一个type0的直线就能产生 x个交点,两个交点间的线段可以把一个平面划分成2个
就能增加x + 1个平面
再推广 若加入typeY 的直线
先让Y++,表示加入直线的根数
就能增加 (x + 1) * Y - (Y-1)
加完后 平面上的直线数就增加了Y :即 x+=Y
...
分类:
其他好文 时间:
2014-08-14 01:33:37
阅读次数:
259
题目地址:HDU 1086
就这么一道仅仅判断线段相交的题目写了2k多B的代码。。是不是有点浪费。。。但是我觉得似乎哪里也优化不了了。。。。
判断线段相交就是利用的叉积。假如现在两条线段分别是L1和L2,先求L1和L2两个端点与L1的某个端点的向量的叉积,如果这两个的叉积的乘积小于0的话,说明L1在是在L2两个端点之间的,但此时并不保证一定相交。此时需要用同样的方法去判断L2是否在L1的两个端...
分类:
其他好文 时间:
2014-08-13 22:30:37
阅读次数:
307
uva 11178 Morley's Theorem(计算几何-点和直线)
题目大意:
作三角形的每个角的三等分射线,相交成的三角形DEF为等边三角形。
解题思路:
通过向量的旋转以及直线的相交,求出相应的交点。...
分类:
其他好文 时间:
2014-08-13 13:15:26
阅读次数:
203
链接多边形的面积求解是通过选取一个点(通常为原点或者多边形的第一个点)和其它边组成的三角形的有向面积。对于两个多边形的相交面积就可以通过把多边形分解为三角形,求出三角形的有向面积递加。三角形为凸多边形,因此可以直接用凸多边形相交求面积的模板。凸多边形相交后的部分肯定还是凸多边形,所以只需要判断哪些点...
分类:
其他好文 时间:
2014-08-12 12:39:34
阅读次数:
603
题意:给你n个二维平面上的矩形,可以两两覆盖,问最后覆盖的总面积为多少解题思路:1)矩形状分割,可以知道,每多出一个矩形就和前面所有产生的矩形判断,看是有相交,如果有的话,就对前面的矩形进行分割,最多可以分割成8块,因为这个算法是n×n的算法时间复杂度,所以我们还需要在枚举的时候加速,采用引导值(下...
分类:
其他好文 时间:
2014-08-12 10:06:43
阅读次数:
255
题意:x=[-200,200],y=[-200,200]的平面,一天中太阳从不同角度射到长椅(原点(0,0))上,有一些树(用圆表示),问哪个时刻(分钟为单位)太阳光线与这些圆所交的弦长总和最长。太阳距离原点总是500m。(这些圆不会互相相交,每个圆都不包括原点或者不经过原点)解法:直接暴力24*6...
分类:
其他好文 时间:
2014-08-11 23:47:23
阅读次数:
318