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 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出 ... 
随机推荐
- List用法
			定义一个类: using System;using System.Collections.Generic;using System.Linq;using System.Web; namespace W ... 
- git 使用随笔
			/*将远端库git@github.com:myrepo/base.git从远端clone到本地*/git clone git@github.com:myrepo/base.git /*克隆版本库的时候 ... 
- C++中的unordered_map
			1.简介 随着C++0x标准的确立,C++的标准库中也终于有了hash table这个东西.很久以来,STL中都只提供<map>作为存放对应关系的容器,内部通常用红黑树实现,据说原因是二叉 ... 
- PL/SQL database character set(AL32UTF8) and Client character set(ZHS16GBK) are different
			启动PL/SQL Developer 报字符编码不一致错误 Database character set (AL32UTF8) and Client character set (ZHS16GBK) ... 
- python网络编程-01
			python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ... 
- SQL Server Mysql primary key可更新性分析
			SQL Server: 一般来说SQL Server 中表的主键是支持更新操作的.但是如果这个主键是由identity(1,1)这类的方式生成的话它是不可更新的. Mysql : Mysql 中表的主 ... 
- linux 怎么查找oracle11g的安装目录
			一般来说,/etc/oraInst.loc文件里会记录oracle的路径,如[oracle@ruby ~]$ cat /etc/oraInst.loc inventory_loc=/u01/app/o ... 
- perspective结合transform的3D效果
			http://css-tricks.com/almanac/properties/p/perspective/ 链接中讲了 perspective的两种用法及比较: 1.perspective:100 ... 
- 化简复杂逻辑,编写紧凑的if条件语句(二):依据if子句顺序化简条件
			<化简复杂逻辑,编写紧凑的if条件语句>已经得出了跳.等.飞.异常的各自条件,方便起见这里重新贴一下. 立即跃迁:!a && b && d 等待跃迁:!a ... 
- java载入XML文件并解析xml
			import java.io.File; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentExce ... 
