计算几何(2)
声明:本篇文章中仅最后一个题目的题面为本人翻译(温州中学USACO月赛十年题典v10_2000-2009年给了语言组织帮助),其他题面均为BZOJ中原版拷录
另:这是我在word中写的,由于是新手,不知怎么把word中的图发上来,就直接截图了,影响美观,望谅解
转载注明出处:http://blog.csdn.net/u011400953
链接:http://blog.csdn.net/u011400953/article/details/9325163 <计算几何(1)>
一:例题
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 250 Solved: 134
[Submit][Status]
Description
沫沫最近在玩一个二维的射箭游戏,如下图 1所示,这个游戏中的 x轴在地面,第一象限中有一些竖直线段作为靶子,任意两个靶子都没有公共部分,也不会接触坐标轴。沫沫控制一个位于(0,0)的弓箭手,可以朝 0至 90?中的任意角度(不包括 0度和 90度),以任意大小的力量射出带有穿透能力的光之箭。由于游戏中没有空气阻力,并且光之箭没有箭身,箭的轨迹会是一条标准的抛物线,被轨迹穿过的所有靶子都认为被沫沫射中了,包括那些只有端点被射中的靶子。这个游戏有多种模式,其中沫沫最喜欢的是闯关模式。在闯关模式中,第一关只有一个靶子,射中这个靶子即可进入第二关,这时在第一关的基础上会出现另外一个靶子,若能够一箭双雕射中这两个靶子便可进入第三关,这时会出现第三个靶子。依此类推,每过一关都会新出现一个靶子,在第 K 关必须一箭射中前 K 关出现的所有 K个靶子才能进入第 K+1关,否则游戏结束。沫沫花了很多时间在这个游戏上,却最多只能玩到第七关“七星连珠”,这让她非常困惑。于是她设法获得了每一关出现的靶子的位置,想让你告诉她,最多能通过多少关
Input
输入文件第一行是一个正整数N,表示一共有N关。接下来有N行,第i+1行是用空格隔开的三个正整数xi,yi1,yi2(yi1<yi2 ),表示第i关出现的靶子的横坐标是xi,纵坐标的范围是从yi1到yi2 。
输入保证30%的数据满足N≤100,50%的数据满足N≤5000,100%的数据满足N≤100000且给出的所有坐标不超过109。
Output
仅包含一个整数,表示最多的通关数。
Sample Input
5
2 8 12
5 4 5
3 8 10
6 2
3
1 3 7
Sample Output
3
HINT
Source
day2
输入第一行包含一个正整数 n,表示房子的总数。接下来有 n行,分别表示每一个房子的位置。对于 i = 1, 2, .., n,第i个房子的坐标用一对整数 xi和yi来表示,中间用空格隔开。
输出文件包含一个实数,表示平均有多少个房子被信号所覆盖,需保证输出结果与精确值的绝对误差不超过0.01。
4
0 2
4 4
0 0
2 0
3.500
3.5, 3.50, 3.500, …中的任何一个输出均为正确。此外,3.49, 3.51,
3.499999,…等也都是可被接受的输出。
【数据范围】
100%的数据保证,对于 i = 1, 2, .., n,第 i个房子的坐标(xi, yi)为整数且
–1,000,000 ≤ xi, yi ≤ 1,000,000. 任何三个房子不在同一条直线上,任何四个房子不
在同一个圆上;
40%的数据,n ≤ 100;
70%的数据,n ≤ 500;
100%的数据,3 ≤ n ≤ 1,500。
感谢“http://blog.sina.com.cn/s/blog_61034ad90100ii8z.html"给的语言组织参考
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 341 Solved: 119
[Submit][Status]
有n个圆盘从天而降,后面落下的可以盖住前面的。求最后形成的封闭区域的周长。看下面这副图(图4),所有的红色线条的总长度即为所求.
图4 |
第一行输入n,表示有多少个圆,接下来有n行,每行三个整数r,x,y,分别表示下落圆的半径,圆心横纵坐标
最后的周长,保留三位小数
2
1 0 0
1 1 0
10.472
数据规模
n<=1000
输入样例
5
1 2
5 9
3 8
4 10
1 3
输出样例
2
1
2
样例说明
当D=1时,老师的算法是去掉1/3,这将使总分变成13/29,而去掉3/8则可以得到11/24。
当D=2时,老师的算法是去掉1/3和3/8得到总分10/21。更高的7/14则能由去掉3/8和4/10得到。
来源信息
Jacob Steinhardt, 2006
Richard Peng