自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韩小侠的专栏 已迁移至lssea.com

博客已迁移至 lssea.com

  • 博客(17)
  • 收藏
  • 关注

原创 POJ 2187 凸包+旋转卡壳

题意:求凸包最长点对,输出两点距离的平方。先求凸包,再旋转卡壳求直径关于旋转卡壳的具体实现 http://www.cppblog.com/staryjy/archive/2009/11/19/101412.html#include #include#include#include#includeusing namespace std;typedef int

2013-03-29 11:11:31 799

原创 POJ 3525 二分+半面相交

题意:给定一个凸多边形问能包裹圆的最大半径。将每条边向内移动距离d,知道半面相交的内核不存在,确定最大的d并且达到精度就可以了。#include#include#include#includeusing namespace std;const int mm=111;typedef double DIY;struct point{ DIY x,y; poi

2013-03-26 10:38:23 809

原创 POJ 1474 半面相交

题意:给定一个多边形判断是否存在内核。模板题。判断最后半面相交的半面数至少3个就行。#include#include#include#includeusing namespace std;const int mm=111;typedef double DIY;struct point{ DIY x,y; point() {} point(DIY _x

2013-03-25 19:47:27 613

原创 POJ 3130 半面相交

题意:很明显判断多边形是否存在内核。将每个边看做一个半面,判断版面是否大于2即可。#include#include#include#includeusing namespace std;const int mm=111;typedef double DIY;struct point{ DIY x,y; point() {} point(DIY _x,

2013-03-25 19:32:31 616

原创 POJ 3335 半面相交

题意:给你一个多边形,问是否存在区域能看到多边形的任意位置,也就是存不存在内核。将每条边看做一个半面求半面相交。如果存在那么半面至少三个。#include#include#include#includeusing namespace std;const int mm=111;typedef double DIY;struct point{ DIY x,y;

2013-03-25 19:03:44 730

原创 POJ 2954 pick公式

这题用到了pick公式,area=on/2+in-1 on为在多边形边上的点数,in为在多边形内的点数。叉积求多边形面积,gcd(x,y)为边上的点数,x为相邻两点x差的绝对值,y同理。根据公式可求在多边形内的点数。#include #include#include#includeusing namespace std;int gcd(int a,int b){ if(b=

2013-03-20 18:25:47 642

原创 POJ 1265 pick公式

这题用到了pick公式,area=on/2+in-1 on为在多边形边上的点数,in为在多边形内的点数。叉积求多边形面积,gcd(x,y)为边上的点数,x为相邻两点x差的绝对值,y同理。根据公式可求在多边形内的点数。#include #include#include#includeusing namespace std;int gcd(int a,int b){ if(b=

2013-03-20 15:14:33 624

原创 POJ 1584 判断凸包,点在多边形内外,点到直线最短距离

题意求给出一个多边形,问这个多边形是否是凸包,如果不是数出HOLE IS ILL-FORMED,如果是问一个棍子能否穿过,给出底面的圆心和半径。分3步:1、判断是否是凸多边形2、判断点是否在多边形内部3、判断点到各边的最小距离是否大于等于半径由于输入是按照顺时针或者逆时针,所以只要判断相邻叉积同号就可以。。#include #include#include#inc

2013-03-18 18:46:13 1333

原创 POJ 1654 多边形面积

求多边形面积,用到相邻两点叉积求多边形面积。#include #includeusing namespace std;char s[1000005];int stepx[10]= {0,-1,0,1,-1,0,1,-1,0,1}, stepy[10]= {0,-1,-1,-1,0,0,0,1,1,1};int main(){ int x,y,

2013-03-15 11:43:24 785

原创 POJ 3348 求凸包面积

题意给出n个点求凸包,然后求出凸包面积就可以。模板题求出凸包后用叉积求出面积就可以了。#include #include#include#include#includeusing namespace std;typedef int PointType;struct point{ PointType x,y; int num;};point data[10

2013-03-15 10:45:53 838

原创 POJ 1228 凸包

这题考察凸包的理解,题意让求一个凸包上每条边都有三个点,如果少于三个点那么凸包就不确定了,三点以上如果再加一个点就形成不了凸包了。通过极角排序完然后求跟凸包的相邻两点共线的点有没有就可以了,写得比较挫。。。(1)此题需要判断“凸包上每条边至少包含原多边形三个点”。成立就是“YES”。 我试的判断“多边形上 所有点 在凸包上”,WA!!(2)注意:所有点共线时,结果为“NO”。

2013-03-14 16:08:31 718

原创 POJ 1556 线段相交+最短路

题意:给出一个房间的俯视图 求从(0,5)到(10,5)的最短路径。求出没有墙挡住的两点距离再用弗洛伊德求出0-sum的最短路径就可以。需要注意最短路可能经过某墙的端点,这时候不能判断条路径为非法。#include #include#include#include#includeusing namespace std;typedef double PointType;#def

2013-03-08 16:50:49 782

原创 POJ 2826 两线段关系求面积

题意:两个木板接雨,问你能解多少雨,也就是面积。这题考虑几种情况:1,有线段平行x轴,接不到;2,两线段没交点,接不到;3,取两线段高的端点如果比两线段交点低也接不到;4,最不容易想到的,两木板在同侧并且上面的木板盖住了下面的木板也接不到。这四条单独判断然后求三角形面积就可以了。#include #include#include#include#includeusing name

2013-03-08 11:00:07 8241

原创 POJ 3304 判断直线与线段相交

题意:问存不存在一条直线,各个线段在直线上的投影有公共部分,也就是判断是否存在一条直线将所有线段都相交。枚举所有端点构成的直线如果有一条直线相交所有线段那么就存在。#include #include#include#include#includeusing namespace std;#define eps 1e-8typedef double PointType;stru

2013-03-04 11:30:30 490

原创 POJ 2318 判定点在多边形内外(二分)

题意:图片是一个俯视图,按照从左到右的顺序输入边 然后输入点坐标,问从左到右的各个区域分别有多少玩具。已知顺序只需要二分来确定区间,然后得出结果。#include #include#include#includeusing namespace std;struct point{ double x,y;};struct edge{ point up,down

2013-03-01 15:59:07 554

原创 POJ 2398 判断点在多边形内外

题意:给出一个矩形,再给出n条两端点分别在上下边的线段,然后给出m个点,要求按每个区域内的点数的升序输出点数t,后面为区域内有t的区域数。这题按照题意做注意要对矩形内的边排序然后再二分判断点在那个区域里。#include #include#include#includeusing namespace std;struct point{ double x,y;};st

2013-03-01 14:54:20 565

原创 POJ 1410 判断线段相交点在多边形内外

题意:判断一线段与矩形是否相交。需要注意的是输入可能不是按照左上右下的顺序,如果线段两个端点都在举行内的话也算相交。这题分为判断线段与4边是否有交点,如果没有判断两点是否在矩形内就可以了。我用的方法是射线法。#include #include#include#includeusing namespace std;typedef double PointType;struct p

2013-03-01 11:07:53 758

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除