博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1132
阅读量:7072 次
发布时间:2019-06-28

本文共 1109 字,大约阅读时间需要 3 分钟。

每次都选最左边的点,然后以这个点为原点

统计和这个点构成的三角形面积和

不难想到极角排序然后由叉积很容易求出

1 const oo=1 shl 30; 2       eps=1e-8; 3 var i,j,k,m,n:longint; 4     x,y:array[0..6010] of longint; 5     z:array[0..6010] of double; 6     ans,xx,yy:int64; 7  8 procedure swap(var a,b:longint); 9   var c:longint;10   begin11     c:=a;12     a:=b;13     b:=c;14   end;15 16 procedure sort(l,r:longint);17   var i,j:longint;18       p,q:double;19   begin20     i:=l; j:=r;21     p:=z[(l+r) shr 1];22     repeat23       while z[i]
p+eps do dec(j);25 if i<=j then26 begin27 swap(x[i],x[j]);28 swap(y[i],y[j]);29 q:=z[i]; z[i]:=z[j]; z[j]:=q;30 inc(i); dec(j);31 end;32 until i>j;33 if l
y[i] then z[j]:=oo51 else z[j]:=-oo52 else z[j]:=(y[j]-y[i])/(x[j]-x[i]);53 sort(i+1,n);54 xx:=0; yy:=0;55 for j:=i+1 to n do56 begin57 ans:=ans+(x[j]-x[i])*yy-(y[j]-y[i])*xx;58 xx:=xx+x[j]-x[i]; yy:=yy+y[j]-y[i];59 end;60 end;61 writeln(abs(ans)/2:0:1);62 end.
View Code

 

转载于:https://www.cnblogs.com/phile/p/4533360.html

你可能感兴趣的文章
初识类(class&struct)及C/C++封装的差异
查看>>
Signalr系列之虚拟目录详解与应用中的CDN加速实战
查看>>
程序员基本素养
查看>>
javascript随记
查看>>
使用js使表单自动提交
查看>>
scala(5)-----访问修饰符
查看>>
CSS浏览器兼容问题
查看>>
android网络编程之HttpUrlConnection的讲解--实现文件断点下载
查看>>
sqlserver数据库系统性能监控步骤
查看>>
2018年数据可视化的8大趋势,你跟上了吗?
查看>>
vue.js插值,插入图片,属性
查看>>
大黄扫毒汤的学习
查看>>
锋利的jQuery第2版学习笔记8~11章
查看>>
黑客和骇客
查看>>
linux字符设备驱动学习笔记(一):简单的字符设备驱动
查看>>
Beta_版本发布
查看>>
ajax
查看>>
linux下nginx tomcat 设置网站根目录
查看>>
回调的经典理解
查看>>
1066 Root of AVL Tree
查看>>