
计算几何
文章平均质量分 52
GEOTCBRL
?????
展开
-
【bzoj4064】[Cerc2012]The Dragon and the knights
1A真是excited(雾 似乎这题就是个乱搞吧 所有的直线不重合不共点,那么每加一条直线,总的区域数就加上这条直线和之前多少条直线相交再加1。如果把在同一个区域内的点看做一个点集,则就是判断点集的个数是否等于总的区域数。 于是重点就转成了判断有哪些点在同一个区域内,换句话说,在同一个区域内的点,都是在某些直线的同侧。注意到这点就好办了,如果把每个点都和原点连一条线段,则每个点在直原创 2015-11-13 20:21:52 · 787 阅读 · 0 评论 -
【bzoj1822】[JSOI2010] Frozen Nova 冷冻波
Circle的构造函数没赋初值都能过样例真是厉害啊…… 这题做法比较显然。巫师和精灵构成了二分图,第i个巫师能干的精灵个数就是⌊Titime+1⌋\lfloor\frac{T_i}{time}+1\rfloor,判断所有精灵能否被干完的话跑个最大流就完事了。 至于时间,显然具有单调性,于是二分之。 没了。 判断线段和圆相交的话另外写一篇文章好了。 设网络流时间原创 2015-12-03 22:22:34 · 1133 阅读 · 0 评论 -
【bzoj1132】[POI2008] Tro
水题,用来巩固一下叉积。 cross(u,v)=xuyv−xvyucross(u,v)=x_uy_v-x_vy_u,其除以2就是u⃗ \vec{u}到v⃗ \vec{v}形成的有向面积。如果保证v在u的下方,则计算其围成的无向面积就不用加绝对值,而且满足结合律。 先从左往右从下往上枚举点,然后再按以这个点为极点的极角从下往上枚举点,边枚举边算叉积就可以了。 时间复杂度O(n2log原创 2015-12-03 20:44:56 · 922 阅读 · 0 评论 -
【BZOJ1043】[HAOI2008] 下落的圆盘
smg啊这种水题调了3h……前途一片灰暗…… 对于每个圆,它能够把前面的圆覆盖,同时会被后面的圆覆盖,它所贡献的周长是它自身周长减去被覆盖的部分,而被覆盖的部分是可以算出来的,用当前圆暴力和后面的圆全部求个交。对于一个圆,它被另外一个圆给交了,其被覆盖的圆弧的圆心角是确定的。也就是说,这个圆被覆盖的总弧度可以用各个圆心角的并得到。每被覆盖一次,就可以得到一个被覆盖的弧度的区间。在平面直角坐标系原创 2015-12-03 13:24:56 · 1016 阅读 · 0 评论 -
求同一个圆内的圆弧的并的算法
在一些计算几何问题里面经常会需要求同一个圆内的圆弧的并,在这里一次性讲了好了。 对于同一个圆内的圆弧,可以用弧度区间来表示出来。把这个圆的圆心放到极坐标系的极点上,这个圆弧起点和终点的角度所夹的区间,设为(θ1,θ2)(\theta_1,\theta_2),就可以用来表示这一段弧了。 有时候θ\theta可能会不在[−π,π][-\pi,\pi]里面,直接用这些带负数的区间来求并看起来不原创 2015-12-03 20:11:39 · 1466 阅读 · 0 评论 -
2012 Asia Tianjin Regional Contest - No Place to Hide
物理题!!!excited!!!虽然不是最擅长的…… 题意:有一个动点,速度为V0V_0,可以以各个方向前进(前进后方向不变),问最少选多少个别的点,使得不论这个动点往哪个方向转都会被碰到。 唔一开始太天真了列了个不知道多少元的二次方程……又仔细观察了之后发现其实可以套余弦定理。 设doctor所在的点为A,现在有一个interpol从点B出发以速度ViV_i追doctor。设他们原创 2015-11-25 22:24:10 · 2063 阅读 · 0 评论