项目编号:bzoj-1069

项目等级:Safe

项目描述:

  戳这里

特殊收容措施:

  求凸包后在凸包上旋转卡壳。然而复杂度要求较低,故可直接枚举四边形的一条对角线,另两个顶点在凸包上随这条对角线的移动具有单调性,所以总复杂度O(n2)。

附录:

 #include <bits/stdc++.h>
#define range(i,c,o) for(register int i=(c);i<(o);++i)
#define dange(i,c,o) for(register int i=(c);i>(o);--i)
using namespace std; static const double eps=1e-; typedef pair<double,double> POINT;
#define x first
#define y second inline POINT operator+(const POINT&P,const POINT&Q)
{
return make_pair(P.x+Q.x,P.y+Q.y);
} inline POINT operator-(const POINT&P,const POINT&Q)
{
return make_pair(P.x-Q.x,P.y-Q.y);
} inline double dis(const POINT&P,const POINT&Q)
{
return sqrt(pow(P.x-Q.x,)+pow(P.y-Q.y,));
} inline double cross(const POINT&P,const POINT&Q)
{
return P.x*Q.y-P.y*Q.x;
} inline double area(
const POINT&O,const POINT&P,const POINT&Q
)
{
return 0.5*cross(P-O,Q-O);
} // 1 stand for LEFT and -1 stand for RIGHT
inline int turn(
const POINT&O,const POINT&P,const POINT&Q
)
{
double duct=area(O,P,Q);
return fabs(duct)<eps?:(duct>?:-);
} POINT P[];
inline bool cmp(const POINT&A,const POINT&B)
{
int dir=turn(P[],A,B);
return dir?dir>:dis(P[],A)>dis(P[],B);
} static int N,cnt=; inline int next(const int&x) {return x+==cnt?:x+;}
inline int&move(int&x) {return ++x==cnt?x=:x;} int main()
{
scanf("%d",&N);
range(i,,N) scanf("%lf%lf",&P[i].x,&P[i].y);
range(i,,N)
{
if(P[i].y==P[].y?P[i].x<P[].x:P[i].y<P[].y)
{
swap(P[i],P[]);
}
}
sort(P+,P+N,cmp);
range(i,,N)
{
for(;cnt>&&turn(P[cnt-],P[cnt-],P[i])<;--cnt);
P[cnt++]=P[i];
}
double ans=;
range(i,,cnt)
{
int L=next(i),j=next(L),R=next(j);
for(;next(j)!=i;move(j))
{
for(;next(L)!=j&&
area(P[i],P[next(L)],P[j])+eps>
area(P[i],P[ L ],P[j]);move(L)
);
for(j==R?move(R):
;next(R)!=i&&
area(P[j],P[next(R)],P[i])+eps>
area(P[j],P[ R ],P[i]);move(R)
);
ans=max(ans,area(P[i],P[L],P[j])+area(P[j],P[R],P[i]));
}
}
return printf("%.3lf\n",ans),;
}

SCP-bzoj-1069的更多相关文章

  1. BZOJ 1069 Luogu P4166 最大土地面积 (凸包)

    题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=1069 (luogu)https://www.luogu.org/probl ...

  2. 【BZOJ 1069】 凸包+旋转卡壳

    1069: [SCOI2007]最大土地面积 Description 在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大. Input 第 ...

  3. bzoj 1069 [SCOI2007]最大土地面积(旋转卡壳)

    1069: [SCOI2007]最大土地面积 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2277  Solved: 853[Submit][Stat ...

  4. BZOJ 1069 最大土地面积

    Description 在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大. Input 第1行一个正整数N,接下来N行,每行2个数x,y ...

  5. BZOJ 1069: [SCOI2007]最大土地面积 [旋转卡壳]

    1069: [SCOI2007]最大土地面积 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2978  Solved: 1173[Submit][Sta ...

  6. ●BZOJ 1069 [SCOI2007]最大土地面积

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1069 题解: 计算几何,凸包,旋转卡壳 其实和这个题差不多,POJ 2079 Triangl ...

  7. bzoj 1069

    最开始想到的是枚举3个点,另一个点用卡壳的思想,但实际上可以只枚举两个点(对角线上的两个点),其余两个点用卡壳. /****************************************** ...

  8. bzoj 1069 [SCOI2007]最大土地面积——旋转卡壳

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1069 发现 n 可以 n^2 .所以枚举对角线,分开的两部分三角形就可以旋转卡壳了. 注意坐 ...

  9. BZOJ 1069: [SCOI2007]最大土地面积(旋转卡壳)

    题目链接~ 1069: [SCOI2007]最大土地面积 思路很简单,极角排序求完凸包后,在凸包上枚举对角线,然后两边分别来两个点旋转卡壳一下,搞定! 不过计算几何的题目就是这样,程序中间的处理还是比 ...

  10. 【BZOJ 1069】【SCOI 2007】最大土地面积 凸包+旋转卡壳

    因为凸壳上对踵点的单调性所以旋转卡壳线性绕一圈就可以啦啦啦--- 先求凸包,然后旋转卡壳记录$sum1$和$sum2$,最后统计答案就可以了 #include<cmath> #includ ...

随机推荐

  1. Python3解leetcode Binary Tree Paths

    问题描述: Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. E ...

  2. [bzoj3462]DZY Loves Math II (美妙数学+背包dp)

    Description Input 第一行,两个正整数 S 和 q,q 表示询问数量. 接下来 q 行,每行一个正整数 n. Output 输出共 q 行,分别为每个询问的答案. Sample Inp ...

  3. Archive.org:互联网档案馆

    Archive.org:互联网档案馆   2009年的最后一天,辞旧迎新,互联网也同样如此,在过往40年的基础上一步步积累发展.对于我们而言很希望通过以往的每个网页.见证和找寻历史,这就是今天所介绍的 ...

  4. AIZU 2560 [想法题]

    表示敲完多项式乘法&高精度乘法两道FFT模板题后就开始来磕这题了 这题相对而言应该不算模板题 不过神犇们肯定还是一眼看穿 如果原OJ访问速度较慢的话可以考虑戳这里 http://acm.hus ...

  5. 公司-IT-SanSan:SanSan

    ylbtech-公司-IT-SanSan:SanSan 毫不费力的组织.无缝简单.基于名片的联系人管理 SanSan是一个名片管理应用,为企业提供内部联系人管理和分享服务,此外该公司也是日本最大的.基 ...

  6. <读书笔记>Javascript系列之6种继承(面向对象)

    写在前面: 以下三选一: 阅读博文JavaScript 对象详解. 阅读<JavaScript权威指南>第6章. 阅读<JavaScript高级程序设计>第6章. 注意:只需要 ...

  7. Android深度探索-卷1第六章心得体会

    这章主要介绍了第一个linux驱动程序:统计单词个数.Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中.大多数Linux驱动都有与其对应的设备文件,因 ...

  8. luoguP1313 计算系数 题解(NOIP2011)

    P1313 计算系数 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cm ...

  9. fieldset与legend,label

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 【记录】解决uni-app 用nginx反向代理出现Invalid Host header问题

    之前解决过一次,后来给忘记了,今天又遇到这个问题,现记录一下 修改uni-app的manifest.json文件  - >源码视图 添加以下代码: "disableHostCheck& ...