几何
pbihao
这个作者很懒,什么都没留下…
展开
-
【BZOJ 1067】 [SCOI2007]最大土地面积 旋转卡壳
旋转卡(qiǎ)壳(ké)(我还特意去百度一波,但好像意思并不一样,中国文化博大精深啊)。其实说简单点就是利用了在凸包上的单调性然后一直旋转,还是很好实现的。#include#include#include#include#include#define maxn 2021using namespace std;int top,n;struct P{ double x,原创 2017-02-04 15:12:09 · 177 阅读 · 0 评论 -
【BZOJ 1670】[Usaco2006 Oct]Building the Moat护城河的挖掘 裸凸包
裸的凸包。。。。。#include#include#include#include#include#define maxn 10210using namespace std;struct P{ double x,y; P(int a=0,int b=0):x(a),y(b){}}q[maxn],p[maxn];typedef P Vec;Vec operator - (P原创 2017-01-17 22:13:41 · 196 阅读 · 0 评论 -
【BZOJ 2829】信用卡凸包 凸包
求一个凸包然后加上一个圆就没有了,主要是联系一下模板(我的主要是用的lrj的大白上面的)。#include#include#include#include#include#define maxn 100005using namespace std;int n,cnt;double r,len,wide,ans;const double eps=1e-7;struct P原创 2017-01-17 19:10:44 · 312 阅读 · 0 评论 -
【BZOJ 1185】[HNOI2007]最小矩形覆盖 旋转卡壳
不说了,待我吐完这口老血。。。。一开始我看题目说配spj以为就可以随便输出4个点的位置,然而....spj居然只是用来判-0.00000的,调了一下午,最后改成输出最下面的顶点然后逆时针输出就过了,喷血。。。思路嘛,矩形一定有一条边在凸包上,枚举这条边,旋转卡壳来维护其他三个点,对面的顶点用三角形面积大小判断,而两边的点则用点积来判断就好了。#include#include#inc原创 2017-02-04 21:27:47 · 325 阅读 · 0 评论 -
【BZOJ 2823】[AHOI2012]信号塔 随机增量
三倍经验2823=1337=1336原来传说中的随机增量就是一个随机后乱搞,牛。。。。#include#include#include#include#include#define maxn 1000021#define eps 1e-9 using namespace std;int n;struct P{ double x,y; P(double a=0,do原创 2017-02-22 10:31:04 · 278 阅读 · 0 评论 -
【BZOJ 2618】[Cqoi2006]凸多边形 半平面交
转成半平面交就好了。#include#include#include#include#include#define eps 1e-7#define maxn 100021 using namespace std;int n,tot,cnt;struct P{ double x,y; P(double a=0,double b=0):x(a),y(b){}}p[maxn]原创 2017-02-23 07:56:23 · 343 阅读 · 0 评论 -
【BZOJ 1007】[HNOI2008]水平可见直线 半平面交
裸半平面交#include#include#include#include#include#define maxn 50021using namespace std;int n,ans[maxn],cnt;struct Line{ double k,b;int id; bool operator<(const Line& y)const{ return k==y.k ?原创 2017-02-23 08:50:03 · 238 阅读 · 0 评论 -
【BZOJ 4445】[Scoi2015]小凸想跑步 半平面交
半平面交解不等式方程组#include#include#include#include#include#define eps 1e-10#define maxn 500021using namespace std;int n,cnt,tot;double all;struct P{ double x,y; void init(){scanf("%lf%lf",&x,&y);原创 2017-02-23 20:35:22 · 459 阅读 · 0 评论