bzoj 4885: [Lydsy2017年5月月赛]长方体
Description
Input
Output
#include<bits/stdc++.h>
typedef double ld;
ld ans=;
void maxs(ld&a,ld b){if(a<b)a=b;}
const ld _0=1e-;
int T,n;
ld xm,ym,x[],y[],r[];
ld dis2(ld x,ld y){return x*x+y*y;}
ld dis(ld x,ld y){return sqrt(x*x+y*y);}
bool out(int w){
return x[w]+r[w]<||x[w]-r[w]>xm||y[w]+r[w]<||y[w]-r[w]>ym;
}
bool in(int w){
ld r2=r[w]*r[w];
return dis2(x[w],y[w])<r2&&dis2(x[w]-xm,y[w])<r2&&
dis2(x[w],y[w]-ym)<r2&&dis2(x[w]-xm,y[w]-ym)<r2;
}
struct ev{
ld x;
int a;
bool operator<(ev w)const{return x<w.x;}
}es[];
const ld pi=acos(-),_2pi=pi*;
ld fix(ld x){
while(x<)x+=_2pi;
while(x>=_2pi)x-=_2pi;
return x;
}
int s,ep;
void cal(ld a,ld b){
ld l=fix(a-b),r=fix(a+b);
if(l>r)++s;
es[ep++]=(ev){l-_0,};
es[ep++]=(ev){r+_0,-};
}
void f(ld a,ld b,ld c){
xm=a,ym=b;
x[]=-c,y[]=;
x[]=,y[]=-c;
x[]=a+c,y[]=-a;
x[]=-b,y[]=b+c;
ld L=,R=a+b+c,M;
while(R-L>1e-){
M=(L+R)/;
for(int i=;i<;++i)r[i]=M;
bool ed=,ed0=;
for(int i=;i<;++i){
if(out(i))continue;
ed0=;
if(in(i))break;
s=,ep=;
for(int j=;j<;++j)if(j!=i){
ld xd=x[j]-x[i],yd=y[j]-y[i];
ld d=dis(xd,yd);
if(r[j]+r[i]<d+_0)continue;
ld a=atan2(yd,xd),b=acos(d/(*r[i]));
cal(a,b);
}
if(x[i]-r[i]<)cal(pi,acos(x[i]/r[i]));
if(x[i]+r[i]>xm)cal(,acos((xm-x[i])/r[i]));
if(y[i]-r[i]<)cal(pi*1.5,acos(y[i]/r[i]));
if(y[i]+r[i]>ym)cal(pi*0.5,acos((ym-y[i])/r[i]));
if(!ep){ed=;goto o;}
std::sort(es,es+ep);
for(int j=;j<ep;++j)if(!(s+=es[j].a)){ed=;goto o;}
oo:;
}
if(!ed0)ed=;
o:;
if(ed)R=M;
else L=M;
}
maxs(ans,L);
}
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
f(a,b,c);f(b,c,a);f(c,a,b);
printf("%.10f",ans);
return ;
}
bzoj 4885: [Lydsy2017年5月月赛]长方体的更多相关文章
- bzoj 4836: [Lydsy2017年4月月赛]二元运算 -- 分治+FFT
4836: [Lydsy2017年4月月赛]二元运算 Time Limit: 8 Sec Memory Limit: 128 MB Description 定义二元运算 opt 满足 现在给定一 ...
- BZOJ 4881: [Lydsy2017年5月月赛]线段游戏
4881: [Lydsy2017年5月月赛]线段游戏 Time Limit: 3 Sec Memory Limit: 256 MBSubmit: 164 Solved: 81[Submit][St ...
- BZOJ 4883 [Lydsy2017年5月月赛]棋盘上的守卫(最小生成环套树森林)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4883 [题目大意] 在一个n*m的棋盘上要放置若干个守卫. 对于n行来说,每行必须恰好 ...
- BZOJ 4884 [Lydsy2017年5月月赛]太空猫(单调DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4884 [题目大意] 太空猫(SpaceCat)是一款画面精致.玩法有趣的休闲游戏, 你 ...
- 【BZOJ 4832 】 4832: [Lydsy2017年4月月赛]抵制克苏恩 (期望DP)
4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 275 Solved: 87 Descripti ...
- [补档][Lydsy2017年4月月赛]抵制克苏恩
[Lydsy2017年4月月赛]抵制克苏恩 题目 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平. 如果你不玩炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一 ...
- 【BZOJ4832】[Lydsy2017年4月月赛]抵制克苏恩 概率与期望
[BZOJ4832][Lydsy2017年4月月赛]抵制克苏恩 Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q同学会告诉 ...
- 【BZOJ4883】[Lydsy2017年5月月赛]棋盘上的守卫 KM算法
[BZOJ4883][Lydsy2017年5月月赛]棋盘上的守卫 Description 在一个n*m的棋盘上要放置若干个守卫.对于n行来说,每行必须恰好放置一个横向守卫:同理对于m列来说,每列 必须 ...
- [Bzoj4832][Lydsy2017年4月月赛]抵制克苏恩 (期望dp)
4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 673 Solved: 261[Submit][ ...
随机推荐
- 如何生成ssh密钥对
答:执行以下命令即可,生成的密钥对在~/.ssh下,会生成两个文件,一个id_rsa和id_rsa.pub,前者是私钥,后者是公钥 ssh-keygen -t rsa -C "your_em ...
- SpringMVC小demo解析
第一次实际接触SpringMVC,之前在教程网站上看得是概念性的. SpringMVC是属于Java框架SSM中的一环 在做了一个小demo后发现原来编程如此简单. 首先建立动态网页项目(Dynami ...
- BZOJ 4011 【HNOI2015】 落忆枫音
题目链接:落忆枫音 以下内容参考PoPoQQQ大爷的博客 首先我们先来考虑一下如果没有新加入的那条边,答案怎么算. 由于这是一个\(DAG\),所以我们给每个点随便选择一条入边,最后一定会构成一个树形 ...
- PHP获得真实客户端的真实时用到的IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP.如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP. HTTP_CLIENT_IP 是代理服务器发送的HTTP头. ...
- FastJson/spring boot: json输出
1.引入FastJson依赖包 <!-- FastJson --> <dependency> <groupId>com.alibaba</groupId> ...
- python批量修改ssh密码
由于工作需要本文主结合了excel表格,对表格中的ssh密码进行批量修改 以下是详细代码(python3): #!/usr/bin/env python#-*-coding:utf-8-*- impo ...
- 牛客网——C列一列
链接:https://www.nowcoder.net/acm/contest/71/C来源:牛客网 题目描述 小W在计算一个数列{An},其中A1=1,A2=2,An+2=An+1+An.尽管他计算 ...
- POJ 3087 Shuffle'm Up bfs
题目链接:Shuffle'm Up 除了英文题有点恶心.发现模拟 + bfs 就可以过的时候,就是水了. 一个bug 就是filp函数得到string s12失败了.恩.据大腿告知,string 并不 ...
- 【转】powerdesigner 数据类型与数据库数据类型对应
The following numeric data types are available: Standard data type DBMS-specific physical data type ...
- L203 词汇题
Conditions for the growth of this plant are optimum in early summer.we will live as free people, not ...