半平面的交
文章平均质量分 77
冷月残星
这个作者很懒,什么都没留下…
展开
-
半平面的交,二分法(离海最远的点,LA 3890)
太菜啦,这都不会。。。 点到海的距离是点到海的最小距离,然后想让这个值最大。想到了啥?不就是应该用二分吗?太菜了。 把这个n个点的凸多边形的岛看做n个半平面的交。 二分距离,检查是否存在一个距离海这么远的点,具体做法就是将所有半平面对应的直线往左边移动这么远,然后看看交是否为空即可。 代码 #include using namespace std; const int m原创 2017-02-01 20:42:02 · 299 阅读 · 0 评论 -
线性规划,半平面的交(铁人三项,LA 2218)
Vector(B,-A) 这个向量简直神奇。 无论A,B,C的符号关系如何,这个向量所代表的半平面总是对的。 然后精度问题的解决办法就是乘以一个较大的数,或者乘以公倍数以保证无小数。 求直线交点的函数又喜闻乐见地写错了。。。 代码 #include #define SUM (U[i]*V[i]*W[i]*U[j]*V[j]*W[j]) using namespace原创 2017-02-02 15:09:55 · 667 阅读 · 0 评论 -
半平面交(UESTC 484,Division)
https://vjudge.net/problem/UESTC-484 抄错模板毁一生。。。 就是二分角度,用角度和起点构造一个半平面去截原来的半平面,然后再计算新区域的面积。 二分的上下限是一个比较麻烦的地方,正常情况下枚举起点和所有点之间的极角,然后记录最大和最小值,分别当做上下限即可。 但是atan2()函数是返回与x轴正方向的夹角,逆时针为正,顺时针为负,范围是(原创 2017-05-02 15:26:23 · 239 阅读 · 0 评论 -
贪心,二分,半平面交(丛林警戒队,LA 4992)
RE的6种可能 1、数组开小了 2、数组越界了 3、除0了 4、递归爆栈了 5、指针 6、申请空间过多了。 还是感觉自己有问题,码得太多,想的太少,实践得更少。 自己先跟自己玩玩攻防游戏,多玩几盘,就知道正确的防守方法了,然后思路与代码就是分分钟的事情。 先抛开代码与算法不管,然后搞出一种手算的解决方案(像玩单机游戏那样去不断尝试),最后再想办法用代码去实现。原创 2017-02-02 20:41:05 · 393 阅读 · 0 评论