【bzoj 1069】最大土地面积(旋转卡壳)
来源:互联网 发布:销售清单软件免费 编辑:程序博客网 时间:2024/06/05 06:37
传送门biu~
枚举一条对角线,在对角线两端分别求最大三角形,旋转卡壳。
#include<bits/stdc++.h>using namespace std;int tp,n;struct point{ double x,y; point() {} point(double _,double __){x=_;y=__;} }p[2005],s[2005];double dis(point a,point b){return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);}point operator-(point a,point b){return point(a.x-b.x,a.y-b.y);}double operator*(point a,point b){return a.x*b.y-a.y*b.x;}bool operator<(point a,point b){ double tmp=(a-p[1])*(b-p[1]); return tmp<0 || (tmp==0 && dis(a,p[1])<dis(b,p[1]));}void solve(){ int k=1; for(int i=2;i<=n;++i) if(p[k].y>p[i].y||(p[k].y==p[i].y&&p[k].x)>p[i].x) k=i; swap(p[1],p[k]); sort(p+2,p+n+1); for(int i=1;i<=n;++i){ while(tp>1 && (p[i]-s[tp-1])*(s[tp]-s[tp-1])<=0) --tp; s[++tp]=p[i]; }}double calc(){ s[tp+1]=p[1]; double re=0; int a,b; for(int i=1;i<=tp;++i){ a=i%tp+1;b=(i+2)%tp+1; for(int j=i+2;j<=tp;++j){ while(a%tp+1!=j && (s[j]-s[i])*(s[a+1]-s[i])>(s[j]-s[i])*(s[a]-s[i])) a=a%tp+1; while(b%tp+1!=i && (s[b+1]-s[i])*(s[j]-s[i])>(s[b]-s[i])*(s[j]-s[i])) b=b%tp+1; re=max(re,(s[j]-s[i])*(s[a]-s[i])+(s[b]-s[i])*(s[j]-s[i])); } } return re;}int main(){ scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%lf%lf",&p[i].x,&p[i].y); solve(); printf("%.3lf",calc()/2); return 0;}
阅读全文
0 0
- BZOJ 1069-最大土地面积(旋转卡壳)
- 【bzoj 1069】最大土地面积(旋转卡壳)
- 【旋转卡壳】【bzoj 1069】: [SCOI2007]最大土地面积
- BZOJ 1069 SCOI2007 最大土地面积 旋转卡壳
- BZOJ 1069 [SCOI2007]最大土地面积 旋转卡壳
- BZOJ 1069: [SCOI2007]最大土地面积 旋转卡壳
- bzoj 1069: [SCOI2007]最大土地面积 (旋转卡壳)
- bzoj 1069: [SCOI2007]最大土地面积(旋转卡壳)
- BZOJ 1069 SCOI 2007 最大土地面积 凸包+旋转卡壳
- [BZOJ 1069][SCOI 2007]最大土地面积(凸包+旋转卡壳)
- BZOJ 1069: [SCOI2007]最大土地面积 凸包,旋转卡壳
- [BZOJ]1069 [SCOI2007] 最大土地面积 凸包 + 旋转卡壳
- 【BZOJ 1067】 [SCOI2007]最大土地面积 旋转卡壳
- BZOJ 1069 [SCOI 2007] 最大土地面积 (凸包+旋转卡壳)
- 1069: [SCOI2007]最大土地面积|旋转卡壳
- bzoj1039 最大土地面积 旋转卡壳
- [省选前题目整理][BZOJ 1069][SCOI 2007]最大土地面积(旋转卡壳)
- [BZOJ1069][SCOI2007]最大土地面积(凸包+旋转卡壳)
- Cannot load vendor library [libmysql.dll or libmysqld.dll]. 找不到指定的模块
- CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)
- Spring-Cloud-Gateway 源码解析 —— 路由(2.4)之 Kotlin 自定义 RouteLocator
- React4 事件处理
- 动态规划之区间DP专题
- 【bzoj 1069】最大土地面积(旋转卡壳)
- spark的安装和使用
- CSS浮动(float,clear)通俗讲解
- Android 源码编译错误:Could not load 'clearsilver-jni'
- 快手评论霸屏协议,微信霸屏引流,包装快手
- 廖老师python教程实战Day3-编写ORM理解
- Centos下修改nginx.conf后,总是访问到nginx的欢迎界面
- 【Java线程】Java线程池ExecutorService
- vue 虚拟dom实现原理