bzoj1913
这是一道好题,要求每个三点圆覆盖的点数和
我们可以算四边形的贡献,四边形显然分成两种:凸四边形和凹四边形
显然,凹四边形的覆盖只可能是三个点组成三角形包含另一个点,所以贡献是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的更多相关文章
- 【bzoj1913】 Apio2010—signaling 信号覆盖
http://www.lydsy.com/JudgeOnline/problem.php?id=1913 (题目链接) 题意 给出一个平面上n个点,求任选3个点画一个圆所包含的点的期望值. Solut ...
- bzoj1913[Apio2010]signaling 信号覆盖 计算几何
1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1583 Solved: 646[Subm ...
- 【BZOJ-1913】signaling信号覆盖 极角排序 + 组合
1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1232 Solved: 506[Subm ...
- [BZOJ1911][BZOJ1912][BZOJ1913]APIO2010解题报告
特别行动队 Description 这个好像斜率优化不是一般地明显了啊...只不过要分a的正负两种情况考虑是维护上凸还是下凸 /********************************** ...
- [BZOJ1913][APIO2010]信号覆盖(计算几何+计数)
1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1658 Solved: 672[Subm ...
- bzoj1913: [Apio2010]signaling 信号覆盖
传送门 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #includ ...
- [转载]hzwer的bzoj题单
counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ120 ...
- 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题) ...
- BZOJ刷题列表【转载于hzwer】
沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...
随机推荐
- 2-Highcharts曲线图之折线图
示例图片,在网上下载一张图片如图:其中数据自定义 引入上节模版配置 在script标签中写代码:具体代码如下 信息将在代码中解释. 分析:“五省收益趋势”是标题: x坐标为[2011年-2016 ...
- 解决java写入xml报错org.w3c.dom.DOMException:DOM002 Illeg
Exception is -- > org.w3c.dom.DOMException: DOM002 Illegal character 字符不被允许 org.w3c.dom.DOMExcept ...
- Python性能分析指南
http://www.admin10000.com/document/2861.html 尽管并非每个你写的Python程序都需要严格的性能分析,但了解一下Python的生态系统中很多优秀的在你需要做 ...
- Asp.net 身份验证
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个 web应用就会连同这个身份Cookie一起 ...
- Android开发--解决AndroidADT开发工具不能代码提示的问题
google android的新的开发工具,打开以后没有代码自动提示功能,下面对ADT工具的一些配置: 1.设置代码的字体 设置JAVA文件代码的字体:我这里设置的14 常规.
- DJANGO变动库的一次真实手动经历
在变更库时,由于对字段规划和约束性没考虑完全,需要手工操作数据库,以便可以重复执行. 有以下三点要注意. 1,先迎合错误输出,增删对应的表或字段. 2,必要时,修改migrations文件,以去除唯一 ...
- Android 近百个项目的源代码
Android 近百个项目的源代码 Android PDF 阅读器 http://sourceforge.net/projects/andpdf/files/个人记账工具 OnMyMeans http ...
- hdu1875
http://acm.hdu.edu.cn/showproblem.php?pid=1875 2 2 10 10 20 20 3 1 1 2 2 1000 1000 给定坐标 //最小生成树 #inc ...
- 读书笔记:7个示例科普CPU Cache
本文转自陈皓老师的个人博客酷壳:http://coolshell.cn/articles/10249.html 7个示例科普CPU Cache (感谢网友 @我的上铺叫路遥 翻译投稿) CPU cac ...
- [hackerrank]The Love-Letter Mystery
https://www.hackerrank.com/contests/w3/challenges/the-love-letter-mystery 简单题. #include <cstdlib& ...