题目名称 1313. [HAOI 2008]下落的圆盘
输入输出 disc.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2013-03-13加入
开放分组 全部用户
提交状态
分类标签
计算几何
分享题解
通过:41, 提交:127, 通过率:32.28%
Gravatar神利·代目 100 0.034 s 0.26 MiB C++
GravatarHZOI_蒟蒻一只 100 0.055 s 0.25 MiB C++
GravatarShirry 100 0.079 s 0.33 MiB C++
Gravatar 100 0.091 s 0.33 MiB C++
Gravatarsxysxy 100 0.112 s 0.33 MiB C++
Gravatar落痕 100 0.120 s 0.25 MiB C++
Gravatar天一阁 100 0.121 s 0.34 MiB C++
Gravatarwangxh 100 0.142 s 0.36 MiB C++
Gravatartest 100 0.142 s 0.37 MiB C++
Gravatarcstdio 100 0.143 s 0.43 MiB C++
关于 下落的圆盘 的近10条评论(全部评论)
inline double safe_acos(double x) {
double p = acos(x);
return (p != p) ? (p > 0 ? 0 : -pi) : p;
}
不然acos(x) (x > 1 且 x 趋近 1) 会卡出来NaN
GravatarImone NOI2018Au
2017-04-22 11:40 10楼
麻烦的求交点调了无数天。。。。
事实证明double精度真的不低
Gravatar再见
2017-03-20 13:35 9楼
麻烦的求交点调了无数天。。。。
事实证明double精度真的不低
Gravatar再见
2017-03-20 13:34 8楼
圆环上的处理真是麻烦!
GravatarFoolMike
2017-03-04 17:50 7楼
pi我直接用的acos(-1);
方法简单直接,直接挨个看看每个圆最后能被看到多少,区间求个并集,完事了
为什么用了eps反而WA了呢...
Gravatarsxysxy
2017-01-13 15:34 6楼
鳖问我为啥typedef double LL,这程序是从一道卡double的心机婊题目改过来的……
Gravatarcstdio
2015-12-18 11:07 5楼
线条在哪?
Gravatarfyb
2015-04-21 12:58 4楼
pi 取 3.14159265358 即可
Gravatar天一阁
2015-01-29 07:10 3楼
回复 @赵赵赵 :
对的!!!
Gravatar蒟蒻mhr
2014-03-19 16:04 2楼
pi值取不同精度得分不一样!!!
pi值取不同精度得分不一样!!!
pi值取不同精度得分不一样!!!
pi值取不同精度得分不一样!!!
pi值取不同精度得分不一样!!!
pi值取不同精度得分不一样!!!
Gravatar赵赵赵
2013-11-27 18:52 1楼

1313. [HAOI 2008]下落的圆盘

★★★   输入文件:disc.in   输出文件:disc.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

有 $n$ 个圆盘从天而降,后面落下的可以盖住前面的。最后按掉下的顺序,在平面上依次测得每个圆盘的圆心和半径,问下落完成后从上往下看,整个图形的周长是多少,即你可以看到的圆盘的轮廓的圆盘的轮廓总长.例如下图的黑色线条的总长度即为所求。


【输入格式】

第一行为一个整数 $n$;

接下来 $n$ 行每行 $3$ 个实数,$r_i,x_i,y_i$,表示下落时第 $i$ 个圆盘的半径和圆心坐标.

【输出格式】

仅一个实数,表示所求的总周长,答案保留 $3$ 位小数.

【样例输入】

2
1 0 0
1 1 0

【样例输出】

10.472

【提示】

$30\%$ 的数据,$n \leq 10$;

$100\%$ 的数据,$n \leq 1000$。