自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 CF 62C

给定一些三角形,求其周长并。。。#include#include#include#include#includeusing namespace std;#define eps 1e-8int sig(double x){return (x>eps)-(x<-eps);}struct P{ double x,y; P(double a=0,double b=0)

2014-12-19 19:42:07 409

原创 CF 54E Vacuum Сleaner

对于一个凸包形状的吸尘器,问你这个吸尘器在清理矩形的角落时,遗留下的最小面积,可以旋转;题解是计算从第i个点到第j个点所围成的面积,(从i到j 向量旋转不能超过90度),算出凸包的i与j连线在矩形中对应的长与宽,用长,宽,以及i,j连线构成的三角形减去前面的面积,就是够不到的角落,最后取最小值即可,注意顺时针逆时针都要来一次#include#include#include#inclu

2014-12-19 19:40:10 3620

原创 CF 50C Happy Farm 5题解

求个简单的凸包。。看坐标都是整数,用整点表示最后求出的凸包居然还有错,改成浮点数就a了,最后答案一定是从凸包起始点到终点的,每两个相邻点的x差与y差取最大值,然后求和+4,+4的原因是你要绕着走,相当于转一圈。还有一种简单方法是直接每枚举一个点,求(x+y,x-y,y-x,-y-x),取n个点中算出的这四个的最大值,最后求和+4,具体为什么不清楚,大神都是这么做的=。=#include

2014-12-19 19:26:48 449

原创 CF 55E Very simple problem 题解

very simple  一点都不simple  =。=要求点能被多边形中选出的三角形包含的个数,这个需要考虑其对立面,总数减去不包含的个数(ps 题解真心强)不包含的个数的话,以一个点A为初始点,顺时针找到B ,AB形成的直线在p的右侧,此时构成的三角形个数为(A与下面k个点中选2个构成的三角形的个数),扫一圈,就可求出不包含的#include#include#include#

2014-12-12 16:28:08 377

原创 CF 70D Professor's task题解

动态凸包。。只能照着模板敲了。。还不太懂#include#include#include#includeusing namespace std;const double pi=acos(-1.0);double ax,ay,bx,by;double dis(double x,double y){ return sqrt(x*x+y*y);}double get(do

2014-12-09 13:01:05 737

原创 HYSBZ 2243 染色

树上进行区间合并的操作,注意从当前链转到另外一条树链时,要考虑其节点与父亲节点的颜色是否相同#include#include#include#includeusing namespace std;const int M=100010;#define lson l,m,i*2#define rson m+1,r,i*2+1struct Edge{ int to,next

2014-12-04 20:42:43 341

原创 CF 78D Archer's Shot题解

求一个圆能包含多少个单位长的正六边形,从圆心开始枚举每一列有多少个六边形,从x=1,y=1,R,开始,中间的一列可以直接算出来,并算出最大y能取多少,数量就是y-2然后向右枚举每一列的y最大为多少,枚举到以后可得右边此列和左边此列共有(2*(y))个,最后计算总和即可#include#includeusing namespace std;long long n;long lon

2014-12-01 20:53:36 408

原创 CF 77E Martian Food题解

纯粹想法题。。想之前需要有反演的知识,给你一个大圆的半径,一个小圆的半径,一个数k,小圆与大圆相切,再放一个圆与小圆大圆均相切,//然后接着放圆,从此时计数,问第k大的半径是多少。从绿色圆开始计数,反演知识是,圆关于边上一点反演后是直线,圆关于圆外或者圆内一点反演后还是圆,以最左边的点进行反演,大圆和小圆得到了两条直线 x=1/(2R),x=1/(2r);其余圆反演后夹在这两条

2014-12-01 20:47:33 495

原创 hnu oj 13102 Super Shuttle题解

求过一点作圆(点在圆上),最多能与平面上多少个圆相交反演变换:转换成直线经过多少个圆#include#include#include#includeusing namespace std;#define eps 1e-8const double pi=acos(-1.0);int sig(double x){return (x>eps)-(x<-eps);}struct P

2014-11-29 19:37:11 412

原创 hdu 5120 题解 Intersection

求两个圆环的交,感觉没有做错啊,结果c++一直wa,改了G++以后就过了,实在想不通#include#include#include#include#includeusing namespace std;#define eps 1e-8const double pi=acos(-1.0);int sig(double x){return (x>eps)-(x<-eps);}s

2014-11-29 19:33:01 377

原创 CF 89D 题解

问一个运动的球能否碰到一群带刺的球,如果能请输出时间求解方程  (v*v)t^2-(2*l*v)t+l*l-(R+r)*(R+r)=0,t即为答案#include#include#includeusing namespace std;double x0,y2,z0,vx,vy,vz,R;double root(double x,double y,double z,double r

2014-11-29 19:31:02 605

原创 CF 82E 题解 Corridor

题意:用y=h和y=-h表示围成的房子,在房子表面有一些线段表示窗户,房子外(0,f),(0,-f)有两个灯,问灯透过窗照到的总面积解法,sum=(灯照进去每个窗的面积总和)-用每个上面的灯透过上面的窗照进去的多边形对下面的灯照进去的多边形进行相交的面积(简单容斥)(因为不会有三个灯的面积相互相交(ps 因为窗不会相交))#include#include#include#incl

2014-11-29 09:26:47 417

原创 CF 75E 题解 Ship's Shortest Path

给定两点,问两点经过一个多边形的最小花费,可以选择绕边走,花费是1,或者选择直接穿过多边形,花费是2,在多边形内部的花费是路程乘2简单题。。就是分类讨论1.两点确定的线段未经过多边形,花费=长度2.线段穿过多边形,花费=min(线段在多边形外的长+在多边形内的长*2,线段在多边形外的长+多边形较小那一半的周长)#include#include#include#include

2014-11-28 15:00:05 714 3

原创 CF 87E 题解 Mogohu-Rea Idol

看了题解敲出来的,还wa了那么多发,吸取了一个教训,判断点在多边形内还有多边形上,要保证凸包任意三点不共线,否则会出错,题解也很简单。。就是对三个凸包求Minkowski和,然后判断点是否在凸多边形内即可#include#include#include#includeusing namespace std;#define eps 1e-8int sig(double x) {r

2014-11-26 15:02:40 615

原创 hdu 5128 广州赛B题题解

#include#include#include#includeusing namespace std;#define eps 1e-8int sig(double x){return (x>eps)-(x<-eps);}struct P{ double x,y; P(double a=0,double b=0):x(a),y(b){} P operator

2014-11-24 09:39:50 483

空空如也

空空如也

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

TA关注的人

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