这是一道好题,要求每个三点圆覆盖的点数和

我们可以算四边形的贡献,四边形显然分成两种:凸四边形和凹四边形

显然,凹四边形的覆盖只可能是三个点组成三角形包含另一个点,所以贡献是1

凸四边形,其最小圆覆盖是以最长对角线为直径的

注意一个很重要的条件,四点不共圆,所以凸四边形的贡献是2

四边形总数是一定的,显然统计凹四边形更方便

穷举一个点作为原点,即求包含原点的三角形数目——转化为bzoj1914,解决了!

 uses math;
type node=record
x,y:longint;
end; var c,b:array[..] of node;
tot,n,a,d:int64;
i:longint; procedure swap(var a,b:node);
var c:node;
begin
c:=a;
a:=b;
b:=c;
end; function cross(a,b:node):double;
begin
exit(int64(a.x)*int64(b.y)-int64(a.y)*int64(b.x));
end; function cmp(a,b:node):boolean;
begin
if (a.y>) and (b.y<=) then exit(true);
if (b.y>) and (a.y<=) then exit(false);
if cross(a,b)> then exit(true);
exit(false);
end; procedure sort(l,r:longint);
var i,j:longint;
x:node;
begin
i:=l;
j:=r;
x:=c[(l+r) shr ];
repeat
while cmp(c[i],x) do inc(i);
while cmp(x,c[j]) do dec(j);
if not(i>j) then
begin
swap(c[i],c[j]);
inc(i);
dec(j);
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end; function dis(a:node):double;
begin
exit(sqrt(sqr(a.x)+sqr(a.y)));
end; function get(k:longint):int64;
var i,s,t,r:longint;
p:node;
begin
p:=b[k];
t:=;
for i:= to n do
if i<>k then
begin
inc(t);
c[t].x:=b[i].x-p.x;
c[t].y:=b[i].y-p.y;
end;
sort(,t);
get:=(n-)*(n-)*(n-) div ;
r:=;
s:=;
for i:= to t do
begin
while cross(c[i],c[r])>= do
begin
r:=r mod t+;
inc(s);
if r=i then break;
end;
get:=get-(s-)*s div ;
dec(s);
end;
end; begin
readln(n);
if n= then
begin
writeln(3.00);
halt;
end;
for i:= to n do
readln(b[i].x,b[i].y);
for i:= to n do
a:=a+get(i); d:=n*(n-)*(n-)*(n-) div -a;
tot:=(n-)*(n-)*n div ;
writeln((a+*d)/tot+::);
end.

bzoj1913的更多相关文章

  1. 【bzoj1913】 Apio2010—signaling 信号覆盖

    http://www.lydsy.com/JudgeOnline/problem.php?id=1913 (题目链接) 题意 给出一个平面上n个点,求任选3个点画一个圆所包含的点的期望值. Solut ...

  2. bzoj1913[Apio2010]signaling 信号覆盖 计算几何

    1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 1583  Solved: 646[Subm ...

  3. 【BZOJ-1913】signaling信号覆盖 极角排序 + 组合

    1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 1232  Solved: 506[Subm ...

  4. [BZOJ1911][BZOJ1912][BZOJ1913]APIO2010解题报告

    特别行动队 Description   这个好像斜率优化不是一般地明显了啊...只不过要分a的正负两种情况考虑是维护上凸还是下凸 /********************************** ...

  5. [BZOJ1913][APIO2010]信号覆盖(计算几何+计数)

    1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 1658  Solved: 672[Subm ...

  6. bzoj1913: [Apio2010]signaling 信号覆盖

    传送门 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #includ ...

  7. [转载]hzwer的bzoj题单

    counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ120 ...

  8. AHOI2018训练日程(3.10~4.12)

    (总计:共90题) 3.10~3.16:17题 3.17~3.23:6题 3.24~3.30:17题 3.31~4.6:21题 4.7~4.12:29题 ZJOI&&FJOI(6题) ...

  9. BZOJ刷题列表【转载于hzwer】

    沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...

随机推荐

  1. Careercup - Facebook面试题 - 4907555595747328

    2014-05-02 07:49 题目链接 原题: Given a set of n points (coordinate in 2d plane) within a rectangular spac ...

  2. Careercup - Facebook面试题 - 5188884744896512

    2014-05-02 07:18 题目链接 原题: boolean isBST(const Node* node) { // return true iff the tree with root 'n ...

  3. asp.net中json格式化及在js中解析json

    类: public class UploadDocumentItem { public UploadDocumentItem() { } public string DocMuid { get; se ...

  4. 奇异值分解(We Recommend a Singular Value Decomposition)

    奇异值分解(We Recommend a Singular Value Decomposition) 原文作者:David Austin原文链接: http://www.ams.org/samplin ...

  5. 完全卸载Oracle方法

    手动卸载 软件环境: 1.Windows XP + Oracle 10g 2.Oracle安装路径为:d:\Oracle 1.如果数据库配置了自动存储管理(ASM),应该先删除聚集同步服务CSS(cl ...

  6. c++中new和delete的使用方法

    c++中new和delete的使用方法 new和delete运算符用于动态分配和撤销内存的运算符 new用法: 1.     开辟单变量地址空间 1)new int;  //开辟一个存放数组的存储空间 ...

  7. Appium对京东App中WebView的处理

    Appium用uiautomator无法对WebView进行className定位,所以只能模拟动作.可以用android sdk自带的monitor工具,先进行截图,再用任意图像处理软件,获取截图的 ...

  8. java集合--java.util.ConcurrentModificationException异常

    ConcurrentModificationException 异常:并发修改异常,当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常.一个线程对collection集合迭代,另一个线程对Co ...

  9. LR_问题_无法打开IE浏览器、监视服务器资源

    无法打开IE浏览器 使用web(http)协议录制时,无法打开IE浏览器,且生成的日志信息为 ****** Start Log Message ****** Web Recorder version ...

  10. java nio知识点总结

    1.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.是用来解决传统io的问题的. 用来解决传统io的问题的.用来解决传统io的问题.阻塞的. 2.传统IO中,Stream是单向 ...