计算几何
文章平均质量分 75
Think_Idea
水滴石穿
展开
-
hdu5277 YJC counts stars(最大团)
题意:在一张平面图中,给一些点(用坐标表示)和一些边,求最大团,如果最大团有多个统计其数量解题思路:本题和普通的最大团问题不同,题目给出了一些限制条件:平面图上给出的任意两条线段除了可以在结点处相连,不能出现交叉现象画图分析可以发现最大团为4,不可能超过4.因此我们可以枚举大小为4的团,如果不存在枚举大小为3的团。。。枚举大小为4的团:我们可以通过枚举两条不原创 2015-08-07 20:03:55 · 1328 阅读 · 0 评论 -
hdu5365
题目链接:点击打开链接题目意思:在平面中给出一些点(这些点的坐标都为整数),从中选取一些点构成正三角形、正四边形、正五边形、正六边形,问一共有多少种方案?解题思路:1、题目给出的n2、但是正五边形,正六边形判断起来感觉很麻烦,而且枚举6个点肯定会超时,所以比赛时没有思路3、解题报告中指出:地球人都知道整点是不能构成正五边形和正三边形和正六边形的,所以只需暴力枚举四个原创 2015-08-09 09:44:39 · 894 阅读 · 0 评论 -
给定4个点判断是否能构成正方形
思路:菱形+一个直角struct node{ double x,y;}d[30];double getdis(node a,node b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}bool isequal(double x,double y){ if(x-y>=-1e-8&&x-y<=1e-8原创 2015-08-09 09:28:11 · 6628 阅读 · 0 评论 -
求两圆相交面积模板
#define PI 3.141592654#define eps 1e-8double getdis(int x1,int y1,int x2,int y2){ return sqrt((double)(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));}double getarea(int x1,int y1,double r1,int x2,int y2,do原创 2015-08-14 19:39:50 · 927 阅读 · 0 评论 -
和矩形相关的操作
#include #include #include #include #define PI 3.141592654#define eps 1e-7using namespace std;/*********************************************************************/struct point{ int x,y;原创 2015-08-16 16:37:55 · 713 阅读 · 0 评论 -
hdu5130Signal Interference(圆与多边形相交面积模板)
#include #include #include #include #include #include #include #include #include #include #include #include #define CL(arr, val) memset(arr, val, sizeof(arr))#define REP(i, n)for((i) = 0原创 2015-08-16 18:03:05 · 1031 阅读 · 0 评论 -
hdu1542 Atlantis(扫描线+线段树+离散)矩形相交面积
题目链接:点击打开链接题目描述:给定一些矩形,求这些矩形的总面积,如果有重叠,只算一次解题思路:扫描线+线段树+离散(代码从上往下扫描)代码:#include#include #define MAXN 110#define LL ((rt<<1)+1)#define RR ((rt<<1)+2)using namespace std;int n;struct原创 2015-08-17 17:49:20 · 752 阅读 · 0 评论 -
hdu2199 Can you solve this equation?(二分查找,多项式求解)
题目链接:点击打开链接题目描述:给定一个单调多项式,问在[0,100]是否存在值满足多项式等于某个值?解题思路:二分查找注意:题目给出精确到4位小数即可,所以eps为5或6即可,否则会TLE代码:#include #include #define eps 1e-5///注意事项,精度问题,太高容易超时using namespace std;double cal(doub原创 2015-08-17 18:33:45 · 604 阅读 · 0 评论