计算几何之题目讲解

计算几何(2)

 

      声明:本篇文章中仅最后一个题目的题面为本人翻译(温州中学USACO月赛十年题典v10_2000-2009年给了语言组织帮助),其他题面均为BZOJ中原版拷录

      另:这是我在word中写的,由于是新手,不知怎么把word中的图发上来,就直接截图了,影响美观,望谅解

               转载注明出处:http://blog.csdn.net/u011400953

               链接:http://blog.csdn.net/u011400953/article/details/9325163   <计算几何(1)>

一:例题

   2732: [HNOI2012]射箭

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关,否则游戏结束。沫沫花了很多时间在这个游戏上,却最多只能玩到第七关七星连珠,这让她非常困惑。于是她设法获得了每一关出现的靶子的位置,想让你告诉她,最多能通过多少关

计算几何之题目讲解_第1张图片

        Input

        输入文件第一行是一个正整数N,表示一共有N关。接下来有N行,第i+1行是用空格隔开的三个正整数xiyi1yi2(yi1,表示第i关出现的靶子的横坐标是xi,纵坐标的范围是从yi1yi2  
       
输入保证30%的数据满足N≤10050%的数据满足N≤5000100%的数据满足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

 

 

 

计算几何之题目讲解_第2张图片

 

 

 

计算几何之题目讲解_第3张图片

Input

输入第一行包含一个正整数 n,表示房子的总数。接下来有 n行,分别表示每一个房子的位置。对于 i = 1, 2, .., n,i个房子的坐标用一对整数 xiyi来表示,中间用空格隔开。

Output

输出文件包含一个实数,表示平均有多少个房子被信号所覆盖,需保证输出结果与精确值的绝对误差不超过0.01

Sample Input

4

0 2

4 4

0 0

2 0

Sample Output

3.500

HINT

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 

 

 

计算几何之题目讲解_第4张图片

感谢“http://blog.sina.com.cn/s/blog_61034ad90100ii8z.html"给的语言组织参考

 

 

1043: [HAOI2008]下落的圆盘

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 341  Solved: 119
[Submit][Status]

Description

n个圆盘从天而降,后面落下的可以盖住前面的。求最后形成的封闭区域的周长。看下面这副图(图4,所有的红色线条的总长度即为所求

Input

4

n ri xi y1 ... rn xn yn

第一行输入n,表示有多少个圆,接下来有n行,每行三个整数r,x,y,分别表示下落圆的半径,圆心横纵坐标

计算几何之题目讲解_第5张图片

Output

最后的周长,保留三位小数

 

Sample Input

2

1 0 0

1 1 0

Sample Output

10.472

 

数据规模

n<=1000

计算几何之题目讲解_第6张图片

 

 

 

计算几何之题目讲解_第7张图片

输入样例

     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

计算几何之题目讲解_第8张图片

你可能感兴趣的:(听课记录,竞赛数学)