【BZOJ】1913: [Apio2010]signaling 信号覆盖(计算几何+计数)
题目
传送门:QWQ
分析
人类智慧题,不会做。。。。。。
总体思路是考虑四边形
讨论凹四边形凸四边形,最后加一个单调性优化省掉个$ O(n) $
代码
代码感觉好短啊
//https://blog.csdn.net/regina8023/article/details/45556321
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=;
const double PI=acos(-);
struct Point{
double x,y;
}p[maxn];
LL C(int n,int m){
LL ans=;
for (int i=;i<=m;i++)
ans=1LL*ans*(n-i+);
for (int i=;i<=m;i++)
ans/=i;
return ans;
}
double a[*maxn];
int main(){
int n; scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%lf%lf",&p[i].x,&p[i].y);
}
double anss=;
for(int i=;i<=n;i++){
int tot=;
for(int j=;j<=n;j++){
if(i==j) continue;
a[++tot]=atan2(p[j].x-p[i].x,p[j].y-p[i].y);
if (a[tot]<) a[tot]+=PI*;
}
sort(a+,a+n);
for(int j=;j<n;j++){
a[j+n]=a[j+]+*PI;
}
int now=; LL ans=;
for(int j=;j<n;j++){
while(now<n+n- && a[now+]-a[j]<PI){
now++;
}
if(now-j>)ans+=C(now-j,);
}//这里计算的是凸四边形
anss+=(double)(C(n-,)-ans);//凹四边形
}
anss=(double)(anss+*(C(n,)-anss))/C(n,) + ;
printf("%.6lf\n",anss);
return ;
}
【BZOJ】1913: [Apio2010]signaling 信号覆盖(计算几何+计数)的更多相关文章
- bzoj 1913: [Apio2010]signaling 信号覆盖【旋转卡壳(?)】
参考:https://blog.csdn.net/qpswwww/article/details/45334033 讲的很清楚 做法比较像旋转卡壳但是具体是不是我也不清楚.. 首先知道只要求出每种方案 ...
- bzoj1913[Apio2010]signaling 信号覆盖 计算几何
1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1583 Solved: 646[Subm ...
- [BZOJ1913][APIO2010]信号覆盖(计算几何+计数)
1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1658 Solved: 672[Subm ...
- 【bzoj1913】 Apio2010—signaling 信号覆盖
http://www.lydsy.com/JudgeOnline/problem.php?id=1913 (题目链接) 题意 给出一个平面上n个点,求任选3个点画一个圆所包含的点的期望值. Solut ...
- bzoj1913: [Apio2010]signaling 信号覆盖
传送门 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #includ ...
- 【BZOJ-1913】signaling信号覆盖 极角排序 + 组合
1913: [Apio2010]signaling 信号覆盖 Time Limit: 20 Sec Memory Limit: 64 MBSubmit: 1232 Solved: 506[Subm ...
- [BZOJ 1913] signaling 信号覆盖
Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1913 TIP:(注意,这题只能输出6位才能过,7位都不行wtf?) Algorithm: ...
- BZOJ 1185 [HNOI2007]最小矩形覆盖 ——计算几何
程序写的太垃圾,卡不过去. GG,甘拜下风. #include <map> #include <cmath> #include <queue> #include & ...
- 洛谷 P3187 BZOJ 1185 [HNOI2007]最小矩形覆盖 (旋转卡壳)
题目链接: 洛谷 P3187 [HNOI2007]最小矩形覆盖 BZOJ 1185: [HNOI2007]最小矩形覆盖 Description 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形, ...
随机推荐
- ubuntu16 chrome install
1,download chrome.deb from : https://www.google.com/chrome/index.html 2,double click chrome.deb and ...
- [AirFlow]AirFlow使用指南一 安装与启动
1. 安装 通过pip安装: xiaosi@yoona:~$ pip install airflow 如果速度比较慢,可以使用下面提供的源进行安装: xiaosi@yoona:~$ pip insta ...
- 金三银四跳槽季,Java面试题大纲
跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽.切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的 ...
- 怎么解决安装SqlServer2008总是提示Restart computer as failed
安装SqlServer2008总是提示Restart computer as failed,重启电脑依然报这个錯.解决办法是在cmd窗口中使用命令setup.exe /SkipRules=Reboot ...
- jquery.treetable.js
html: <table class="table table-hover table-responsive main-list" id="columntabl ...
- [IC]Lithograph(2)光刻技术的分辨率与分辨率增强技术
接上一篇介绍IC制造的基本过程,光刻的基本过程.这篇文章继续介绍光刻过程中的一些概念. 该系列文章的目录如下: [IC]Lithograph(0)半导体制造的基本过程 [IC]Lithograph(1 ...
- Buildroot 使用默认配置
/******************************************************************************** * Buildroot 使用默认配置 ...
- JS修改标签中的文本且不影响其中标签
/********************************************************************* * JS修改标签中的文本且不影响其中标签 * 说明: * ...
- ubuntu下mysql安装提供外网访问
修改配置文件 1. sudo apt-get install mysql-server #安装mysql服务器 2. sudo apt-get install mysql-client #安装mys ...
- Java并发--synchronized
以下是本文的目录大纲: 一.什么时候会出现线程安全问题? 二.如何解决线程安全问题? 三.synchronized同步方法或者同步块 转载原文链接:http://www.cnblogs.com/dol ...