HDU 2202 最大三角形
题解:先算出凸包,然后枚举凸包上的点计算即可
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <iostream>
using namespace std;
const int N = 50005;
const double eps = 1e-8;
struct point {int x,y;}p[N], stack[N];
bool isZero(double x){return (x>0?x:-x)<eps;}
double dis(point A, point B){return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));}
int crossProd(point A, point B, point C){return (B.x-A.x)*(C.y-A.y)-(B.y-A.y)*(C.x-A.x);}
int cmp(const void *a, const void *b){
point*c=(point*)a;
point*d=(point*)b;
double k = crossProd(p[0], *c, *d);
if (kdis(p[0], *d))) return 1;
return -1;
}
int Graham(int n) {
int x = p[0].x;
int y = p[0].y;
int mi = 0;
for (int i=1; i<n; ++i) {
if (p[i].x=2)--top;
stack[++top]=p[i];
}
return top;
}
double maxTrangle(int n) {
int top=Graham(n);
double area,maxArea = 0;
for (int i=0;i<top;++i) {
for (int j=i+1;j<top;++j) {
for (int k=j+1;k<=top;++k) {
area=crossProd(stack[i],stack[j],stack[k]);
if (maxArea<area) maxArea=area;
}
}
}
return maxArea*0.5;
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
for (int i=0; i<n; ++i) scanf ("%d%d", &p[i].x, &p[i].y);
double ans = maxTrangle(n);
printf ("%.2lf\n", ans);
}
return 0;
}
HDU 2202 最大三角形的更多相关文章
- hdu 2202 最大三角形 (凸包)
最大三角形 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 2202 最大三角形(凸包)
Problem Description 老师在计算几何这门课上给Eddy布置了一道题目,题目是这样的:给定二维的平面上n个不同的点,要求在这些点里寻找三个点,使他们构成的三角形拥有的面积最大.Eddy ...
- hdu 2202 最大三角形_凸包模板
题意:略 思路:直接套用凸包模板 #include <iostream> #include <cstdio> #include <cmath> #include & ...
- hdoj 2202 最大三角形
题目大意:给定n(3<=n<=50000)个点,求其中任意三个点组成的三角形面积最大,输出该面积. 题目传送:http://acm.hdu.edu.cn/showproblem.php?p ...
- hdu 2091 空心三角形
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2091 空心三角形 Description 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为 ...
- HDU 2202 计算几何
最大三角形 Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 2091 空心三角形(模拟)
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果. Input 每行 ...
- 凸包---HDU 2202
题意:给N个点,求着N个点中选择三个联的最大的三角形面积! 注意精度:不然OJ上面会超时的 #include<iostream> #include<cmath> #includ ...
- HDOJ(HDU) 2091 空心三角形
Problem Description 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出 ...
随机推荐
- SQL2008 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。
'OFFSET' 附近有语法错误.在 FETCH 语句中选项 NEXT 的用法无效. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出 ...
- HDU OJ 5317 RGCDQ( 2015多校联合训练第3场) 暴力打表+小技巧
题目连接:Click here 题意:在一个[L,R]内找到最大的gcd(f[i],f[j])其中L<=i<j<=R,f[x]表示i分解质因数后因子的种类数.eg:f[10]=2(1 ...
- C - 字符识别?
C - 字符识别? Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Submit Sta ...
- Aho - Corasick string matching algorithm
Aho - Corasick string matching algorithm 俗称:多模式匹配算法,它是对 Knuth - Morris - pratt algorithm (单模式匹配算法) 形 ...
- Hive学习之更改表的属性
1.修改表名 alter table table_name rename to new_table_name;2.修改列名 alter table tablename change col ...
- Java 注解机制
一.注解中的信息已经在Class中了,我们应该如何读取出来 java.lang.reflect.AnnotatedElement接口: public Annotation[] getAnnotatio ...
- JQ兼容性问题
checkbox操作 1:设置为选中状态 $(this).prop("checked", true); 2:判断是否选中 $(this).is(":check ...
- poj 3348 Cows 求凸包面积
题目链接 大意: 求凸包的面积. #include <iostream> #include <vector> #include <cstdio> #include ...
- AndroidStudio 使用Hide API
1.反射法 速度慢 2.生成新的android.jar 通常需要隐藏API的地方并不多 不需要整个都编译 而且编译出的framework.jar也不全 缺少java.*和javax.* 所以只把需要的 ...
- Oracle数据库时间修改
http://blog.csdn.net/tianlesoftware/article/details/6163859