type node=record x,y:longint; end;
const maxn=;
var k,q,qq:longint;
sum:double;
f,g:array[..maxn] of node;
m,i,j,a,b:longint;
stack:array[..maxn] of longint;
nm:longint;
function dis(a,b:node):double;
begin
exit(sqrt(sqr(a.x-b.x)+sqr(a.y-b.y)));
end;
procedure swap(var a,b:node); inline;
var c:node;
begin
c:=a; a:=b; b:=c;
end;
function dig(a,b:node):longint; inline;
begin
exit(a.x*b.y-a.y*b.x);
end;
function mk(a,b:node):node; inline;
begin
mk.x:=b.x-a.x;
mk.y:=b.y-a.y;
end;
function cmp(a,b:node):boolean; inline;
var p1,p2:node;
begin
p1:=mk(f[],a);
p2:=mk(f[],b);
if dig(P1,P2)< then exit(true);
if dig(P1,P2)= then
if dis(f[],a)>dis(f[],b) then
exit(true);
exit(false);
end;
procedure sort(l,r:longint);
var i,j:longint;
x:node;
begin
i:=l; j:=r; x:=f[(l+r) div ];
while i<=j do
begin
while cmp(f[i],x) do inc(i);
while cmp(x,f[j]) do dec(j);
if i<=j then
begin
swap(f[i],f[j]);
inc(i); dec(j);
end;
end;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
begin
readln(q);
for qq:= to q do
begin
readln(m);
for i:= to m do readln(f[i].x,f[i].y);
if m= then begin writeln('0.0'); continue; end;
j:=;
for i:= to m do
if (f[i].y<f[j].y) or (f[i].y=f[j].y) and (f[i].x<f[j].x) then
j:=i;
swap(f[],f[j]);
sort(,m);
k:=;
g[]:=f[]; g[]:=f[];
for i:= to m do
if dig(mk(f[],f[i]),mk(f[],f[i-]))<> then
begin
inc(k);
g[k]:=f[i];
end;
nm:=;
stack[]:=; stack[]:=; stack[]:=;
for i:= to k do
begin
a:=stack[nm-];
b:=stack[nm];
while dig(mk(g[a],g[b]),mk(g[a],g[i]))> do
begin
dec(nm);
a:=stack[nm-];
b:=stack[nm];
end;
inc(nm);
stack[nm]:=i;
end;
sum:=;
while nm>= do
begin
a:=stack[nm];
b:=stack[nm-];
sum:=sum+abs(dig(mk(g[],g[b]),mk(g[],g[a])))/;
dec(nm);
end;
writeln(sum::);
end;
end.

SWUST0249 (凸包面积)的更多相关文章

  1. POJ 3348 - Cows 凸包面积

    求凸包面积.求结果后不用加绝对值,这是BBS()排序决定的. //Ps 熟练了template <class T>之后用起来真心方便= = //POJ 3348 //凸包面积 //1A 2 ...

  2. poj 3348 Cow 凸包面积

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8122   Accepted: 3674 Description ...

  3. poj 3348:Cows(计算几何,求凸包面积)

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6199   Accepted: 2822 Description ...

  4. uva109求凸包面积,判断点是不是在凸包内

    自己想了一个方法判断点是不是在凸包内,先求出凸包面积,在求由点与凸包上每两个点之间的面积(点已经排好序了),如果两者相等,则点在凸包内,否则不在(时间复杂度可能有点高)但是这题能过 #include& ...

  5. poj3348凸包面积

    用叉积求凸包面积 如图所示,每次找p[0]来计算,(叉积是以两个向量构成的平行四边形的面积,所以要/2) #include<map> #include<set> #includ ...

  6. poj 3348(凸包面积)

    Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8063   Accepted: 3651 Description ...

  7. 【UVA10652】Board Wrapping(求凸包面积)

    点此看题面 大致题意: 告诉你若干个矩形的重心坐标.长.宽和相对\(y\)轴的偏转角度,求矩形面积和与能围住这些矩形的最小凸包面积之比. 矩形面积和 这应该是比较好求的吧. 已经给了你长和宽,直接乘起 ...

  8. poj3348(求凸包面积)

    题目链接:https://vjudge.net/problem/POJ-3348 题意:转换题意后即是求凸包的面积. 思路: 套模板,求凸包面积即转换为多个三角形面积之和,用叉积求,然后除2,因为本题 ...

  9. UESTC 33 Area --凸包面积

    题意: 求一条直线分凸包两边的面积. 解法: 因为题意会说一定穿过,那么不会有直线与某条边重合的情况.我们只要找到一个直线分成的凸包即可,另一个的面积等于总面积减去那个的面积. 怎么得到分成的一个凸包 ...

随机推荐

  1. Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  2. JDE910笔记1--基础介绍及配置[转]

    1.一般JDE部署后环境: DV:开发环境 PY:测试环境 PD:正式环境 根据端口号区分不同环境,可配置.同时,JDE默认使用分发服务器,不同环境连接为不同的数据库. 2.命名规范: 自定义项目.函 ...

  3. MyEclipse生成WAR包并在Tomcat下部署发布[转]

      从来没有想过web项目还能打包的,但是有要求,就不得不去实现,在网上找了一下,发现挺简单的. 首先是使用MyEclipse将web项目打包,如下图所示. 右键选中项目,选择export. 然后选择 ...

  4. CPU信息查询

    cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l //查看CPU的个数 cat /proc/cpuinfo |grep ...

  5. Group by的使用方法

    sql中如果要分组查询,一般都会使用到group by语句,如何熟练使用group by语句呢,我分以下几点进行总结. Group by与聚合函数 Group by与Having 需要注意的地方 Gr ...

  6. hdu 4611 Balls Rearrangement

    http://acm.hdu.edu.cn/showproblem.php?pid=4611 从A中向B中移动和从B中向A中移动的效果是一样的,我们假设从B中向A中移动 而且A>B 我们先求出所 ...

  7. HandleErrorAttribute 特性使用

    public class EwHandleErrorAttribute : HandleErrorAttribute { public override void OnException(Except ...

  8. svn自动更新

    果对svn不熟悉,当svn上面有更新时,想看到实时效果,就得去web目录手动更新,比较麻烦 其它svn有一个自动更新的功能 利用 hook   在svn 仓库目录下面有一个hook目录 在post-c ...

  9. UI UIView

    课程内容:   一.iOS概述 2007年1月9日Macworld大会上公布iPhone OS系统,2010WWDC大会上改名为iOS   二. UI编程概述 UI的本意是用户界面,是英文User和 ...

  10. win7 MS SQL SERVER 2000安装

    http://blog.chinaunix.net/uid-24398518-id-2156226.html MicrosoftInternetExplorer402DocumentNotSpecif ...