
计算几何
文章平均质量分 60
LeeBooL
这个作者很懒,什么都没留下…
展开
-
HLG1291
#include #include #include using namespace std;struct point{ int x,y;}mp,p[100];int cross(int x0,int y0,int x1,int y1){ return (x1-x0)*(mp.y-y0)-(mp.x-x0)原创 2014-04-29 20:02:58 · 412 阅读 · 0 评论 -
POJ 2013
#include #include #include #include #include using namespace std;#define eps 1e-8#define INF 0x1f1fstruct Cell{ double x, y, z, r;} num[111];double getdis(Cell a, Ce原创 2015-01-21 14:29:50 · 393 阅读 · 0 评论 -
POJ 2653 Pick-up sticks
开始在实验室入手写的时候就在想会不会TLE,结果真的TLE 开始的想法是一边输入一边找木棍i可以覆盖的他前面的木棍j,如果他可以覆盖掉前面的那vis[i] = true, 开始我还天真的以为是O(N^2)的时间复杂度。可是这样是时间复杂度是 接近 O(N^3)的, 果断TLE了 那我们换一种思路, 当前木棍是I,我找它后面的可以覆盖它的木棍J,如果找到了就直接放弃它,找下一根木棍,如果没有原创 2015-01-05 00:00:48 · 399 阅读 · 0 评论 -
Amr and Pins
#include #include #include #include using namespace std;int main(){ double r, x, y, xx, yy; while(scanf("%lf %lf %lf %lf %lf",&r, &x, &y, &xx, &yy) !=EOF) {原创 2015-01-24 11:18:17 · 344 阅读 · 0 评论 -
poj 2187
旋转卡壳#include <iostream>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <cmath>#include <algorithm>using namespace std;struct point{ int x, y;} p[50005];int top,sta[50005];原创 2015-09-24 21:09:25 · 259 阅读 · 0 评论 -
hdu 5476
#include#include#include#include#include#include#include#include#define pi (2*acos(0))#define maxn 1000000using namespace std;int main(){ int t; scanf("%d", &t); for (int k=1;原创 2015-09-28 09:10:52 · 458 阅读 · 0 评论 -
zoj 1081 Points Within
改进弧长算法 要求多边形是有向多边形#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>using namespace std;struct node{ double x, y;} p[105], pp[105];int inpolygo原创 2015-09-22 19:54:48 · 323 阅读 · 0 评论 -
hrbust 1429
#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <algorithm>#include <cmath>using namespace std;struct node{ long long x, y;} a[100005], b[100005];long lon原创 2015-09-22 20:44:33 · 380 阅读 · 0 评论 -
poj 2208
#include <iostream>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <algorithm>using namespace std;#define eps 1e-8struct Point{ int x, y; int r;} sta[1010], temp[1010];原创 2015-09-22 18:52:07 · 357 阅读 · 0 评论 -
POJ - 2420
模拟退火逼近#include <iostream>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <cmath>using namespace std;struct point{ double x, y;}sta[110];double getdis(point a, point b){ r原创 2015-09-23 14:23:54 · 329 阅读 · 0 评论 -
poj 1408
#include #include #include #include #include using namespace std;struct Point{ double x, y; Point () {}; Point(double a, double b) { x = a;原创 2015-01-21 18:24:12 · 332 阅读 · 0 评论 -
poj 3304 Segments
#include #include #include #include #include using namespace std;#define MAXN 222#define eps 1e-8int sid( double a){ if(a > eps) return 1; if(a > -eps && a原创 2015-01-01 23:50:43 · 358 阅读 · 0 评论 -
HDU2108
#include #include #include #include using namespace std;struct point{ int x,y; friend point operator-(const point &a, const point &b) { point c;原创 2014-04-29 20:58:12 · 488 阅读 · 0 评论 -
poj 2398 Toy Storage
跟2318 差不多#include #include #include #include #include #include using namespace std;#define MAXN 1111struct Point{ int x, y; Point(){}; Point(int a, int b原创 2014-12-27 16:15:53 · 368 阅读 · 0 评论 -
poj 2318
由于期末考试好久没写题来 ( ps:都是借口, 没写题也没干别的,天天就看捧本小破书一看一上午,看一页睡半个小时, so 还是写题吧) 简单的计算机和入门由于. You may assume that no toy will land exactly on a cardboard partition or outside the boundary of the box. The inpu原创 2014-12-27 10:34:24 · 330 阅读 · 0 评论 -
POJ - 1696 Space Ant( 极角排序)
#include #include #include #include #include using namespace std;#define maxn 20000int top = 2;struct Point{ double x,y,len; int id;} Pt[maxn],Stack[maxn],Point_A;原创 2015-01-16 18:56:31 · 360 阅读 · 0 评论 -
poj 1556The Doors
给一个房间,房间的边都是固定的,房间内有一些墙, 每面墙上有两个门, 起点是(0,5) 终点是(5,0), 求起点到终点的最短路径( 遇到墙从门走) 解题思路: 想到怎么 建图就好做了 N条边则有4*N+1个顶点, 我们所要求的就是怎样连接这些定点使得起点到终点的距离最小 因为N最多是10原创 2015-01-15 12:23:28 · 393 阅读 · 0 评论 -
poj 1414
没有理解好相交什么意思WA无数次 判断线段是否和矩形相交。而所谓“相交”,在计算几何的角度来看,就是线段有一点在矩形内或矩形上。判断的方法如下: 判断线段的两端点是否在矩形内,若是,则线段在矩形内。 判断线段是否与矩形相交,即是否和矩形的四条边中的任意一条边相交(规范相交和不规范相交都算)#include #include #in原创 2015-01-16 00:00:36 · 438 阅读 · 0 评论 -
POJ 3347 Kadj Squares
因为数据比较少暴力就行, 数据多的话可以考虑线段树, 题解: 考虑都到整数的问题,把边长扩大根号2倍, 然后画画图就能推算出怎样根据之前的矩形得到当前矩形的左右起点 然后我们考虑相交的情况。 相交无非两种情况 : 1 : 前面的压着后面的 2: 后面的压着前面的 然后我们把覆盖的地方去掉,最后扫一遍就是答案#include原创 2015-01-17 18:49:36 · 289 阅读 · 0 评论 -
poj 1039
实践告诉我们有小数的时候选择C++ G++90%会挂#include #include #include #include #include using namespace std;#define eps 1e-8struct Point{ double x, y; Point(){}; Point (double原创 2015-01-21 10:58:56 · 345 阅读 · 0 评论 -
POJ 1113
我有白痴了原来强制类型转换不会自动四舍五入只会保留整数部分,,,,,好吧我是白痴#include #include #include #include #include #include using namespace std;#define MAXN 1111#define PI 3.1415926struct Point{原创 2015-01-20 15:27:49 · 313 阅读 · 0 评论 -
POJ - 1375
相关知识:圆外一点引两条切线,求切点, 相似三角形求投影#include <iostream>#include <string.h>#include <stdlib.h>#include <stdio.h>#include <algorithm>#include <cmath>using namespace std;struct point{原创 2015-09-24 16:23:45 · 303 阅读 · 0 评论