
计算几何
文章平均质量分 75
kopyh
这个作者很懒,什么都没留下…
展开
-
POJ 2318 TOYS || POJ 2398 Toy Storage
题目: http://poj.org/problem?id=2318 题意: 给出一个箱子的宽和高,其中有一些隔板,给出这些板子在箱子上下边上的点的位置,给出一些玩具的位置坐标,玩具会被放在某两个隔板之间,隔板分割的区域为0~n,求最后每个区域有多少个玩具。 思路: 隔板是有序给的,只要用叉乘判断每个玩具在某个隔板的左边还是右边,然后二分找就行了。 铜牌狗又要开始重新刷题了。 代原创 2015-11-09 19:23:25 · 299 阅读 · 0 评论 -
POJ-3090 Visible Lattice Points
题目: http://poj.org/problem?id=3090 题意: 就是给出一个二维点阵的大小,问从(0,0)点能看到的点的个数。 思路: 一开始最基本的思路就是枚举斜率,所有斜率相同的点是重复的,数据小就1e3,所以理论上那个可行。 之后发现所有能看到的点的斜率也就是分子分母互质的数,也就是所有真分数的个数。 后来知道这叫做法雷级数,像这样: F1: 0/1原创 2015-08-18 17:01:50 · 382 阅读 · 0 评论 -
POJ 3304 Segments
题目: http://poj.org/problem?id=3304 题意: 有n个线段,给出线段两端点的坐标,求能否找到一条直线使得所有线段在这条直线上的映射存在公共点。 思路: 存在公共点也就是在这个点的垂线经过所有的线段。 最多100条线段,直接枚举所有点对可能形成的直线,然后判断是否所有线段都经过这条直线,就是线段两个端点是否在直线两侧就行了。判断在两侧就是叉乘,注意判断枚举的原创 2015-11-11 20:06:17 · 340 阅读 · 0 评论 -
POJ 1556 The Doors
题目: http://poj.org/problem?id=1556 题意: 有一个10*10的图,其中可能存在一些墙,要求从(0,5)到(10,5)的最短距离,给出的墙位置是先给出一个横坐标x然后在这个位置上有y1,y2,y3,y4,其中有三堵墙0到y1,y2到y3,y4到10。 思路: 将所有墙的端点和起始点作为点建图。对于所有的墙存为线段,然后枚举所有点对组成的线段之间是否有线段相原创 2015-11-13 15:22:07 · 279 阅读 · 0 评论 -
POJ 2653 Pick-up sticks
题目: http://poj.org/problem?id=2653 题意: 有许多线段按序加入一个坐标系中,互相之间可能会有覆盖,求最后留在最上面的线段有哪些。 思路: 数据水,就是写下线段相交的判断。竟然直接O(n^2)就能过,然而写了个O(n*m)的反而更慢,理解不能啊。 代码: #define N 112345 int n,m; int flag,sum,ave,ans,r原创 2015-12-02 20:40:27 · 309 阅读 · 0 评论 -
POJ 1066 Treasure Hunt
题目: http://poj.org/problem?id=1066 题意: 在一个100*100的二维房间内加上一些墙,求进入到这个房间某一处(x,y)拿宝藏至少要开几个门,外墙也要开门。 思路: 直接枚举外围的所有点,求到宝藏要穿过的线段数就行了。 代码: #define N 112 int n,m; int flag,sum,ave,ans,res; struct Point原创 2015-12-04 12:24:08 · 290 阅读 · 0 评论 -
POJ 1410 Intersection
题目: http://poj.org/problem?id=1410 题意: 判断一个直线与矩形是否相交,在矩形内也算。 思路: 就是求4个线段相交,测试模版,注意给定的矩形两个角的坐标不保证x1=y2。 代码: #define EPS 1e-6 int sgn(double x) { if (fabs(x) < EPS)return 0; if (x < 0)return -1原创 2015-12-04 15:07:22 · 326 阅读 · 0 评论