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 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出 ...
随机推荐
- CocoaPods 出现 OTHER_LDFLAGS 错误的解决方法
CocoaPods 出现 OTHER_LDFLAGS 错误的解决方法 在一些项目中运行 pod install 后经常会出现如下错误 [!] The target `项目名 [Debug]` over ...
- c#Ulong用一个高位Uint和低位Uint表示
有时候考虑到平台之间的通用性,可能把一个Ulong拆分成2个Uint来进行各平台之间的通讯,当时转换的时候有点头晕,对与或预算不是很熟悉,不过还是花了半小时弄出来了,代码: //ulong的最大值2^ ...
- Android常用工具类封装---SharedPreferencesUtil
SharedPreferences常用于保存一些简单的数据,如记录用户操作的配置等,使用简单. public class SharedPreferencesUtil { // ...
- which 查看可执行文件的位置
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. ...
- php数组使用技巧及操作总结
数组,可以说是PHP的数据应用中较重要的一种方式.PHP的数组函数众多,下面是一些小结,借此记之,便于以后鉴之. 1. 数组定义 数组的定义使用 array()方式定义,可以定义空数组:<?ph ...
- android-数据持久化
动态文件 String FILE_NAME = "tempfile.tmp"; try { //读 FileInputStream fis = openFileInput(FILE ...
- OSG消锯齿
osg::DisplaySettings::instance()->setNumMultiSamples(); 在osg+mfc下成功实现抗锯齿,在程序初始化的时候,即在osg控制类中,我的 ...
- 10_Segue Example
10 // // ViewController.swift // Segues Example // // Created by ZC on 16/1/10. // Copyright © 2016年 ...
- [置顶] jsp中c标签的使用
jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...
- Foundation 框架 NSArray、NSMutableArray排序
一.使用selector对数组进行排序(无返回) 数组 book 中包含 AddressCard对象. 1.对数组调用 sortUsingSelector方法 -(void) sortByName { ...