a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 71|回复: 1

[C语言] 2011年计算机等级考试二级C辅导实例编程(20)

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
 最小圆覆盖 随机增量算法  最小圆覆盖。神奇的随机算法。当点以随机的顺序加入时期望复杂度是线性的。
$ \7 l, W+ u3 u$ Z3 ?+ W5 M  ------------------------------------------------------------------------------------( {' K/ Z- d; m8 u2 N7 c
  algorithm:, `% F- E" _7 d1 {6 ?
  A、令Ci表示为前i个点的最小覆盖圆。当加入新点pi时如果pi不在Ci-1里那么pi必定在Ci的边界上。/ k+ m% v/ Y" A% a3 m& }( G9 M
  B、再从新考虑这样一个问题,Ci为前i个点最小覆盖圆且p在Ci的的边界上!同理加入新点pi时如果p8 J+ M( V# P1 v0 V5 I3 L+ g8 I' w
  i不在Ci-1里那么pi必定在Ci的边界上。这时我们就包含了两个点在这个最小圆的边界上。
/ o: d. W( [9 e7 g0 A  C、再从新考虑这样一个问题,Ci为前i个点最小覆盖圆且有两个确定点再边界上!此时先让
; ?( M1 w, V6 M" a. v4 x  O(N)的方法能够判定出最小圆。9 }: Q2 L+ A6 m" X" U
  ------------------------------------------------------------------------------------
3 o  G- D! j4 O  analysis:5 ?, ~9 N  Y" G) ]! ~7 Y
  现在来分析为什么是线性的。
/ r5 q" X4 a& c; J9 e3 `0 Q  C是线性的这是显然的。. s# p% I' r, V' t
* Q* G7 L2 N# r6 _
  B
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:48:09 | 显示全部楼层

2011年计算机等级考试二级C辅导实例编程(20)

10 node p[200000];  11 double r;7 W2 x9 ~  K9 X
  12 node O;
+ u* [# X. e( |7 J) W" @! [  13 double dist(node a,node b)+ r6 p; C, `+ U8 x4 O
  14 {' |  D. ?9 k8 L. Q8 ]5 K2 v, m
  15 return sqrt( (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y) );
3 N8 Z, r. P, W5 W$ U5 W9 I9 Z  16 }
  v4 Y- o, r" `6 ]; p9 w  17 void calc(double a,double b,double c,double d,double e,double f) //给出两条直线ax+by+c=0,dx+ey+f=0 求交点* r6 }& B2 m4 z+ l6 O
  18 { //注意到三角形里两条中垂线不可能平行,所以不会产生除0错误% J3 ^% p8 V* `  o
  19 O.y=(c*d-f*a)/(b*d-e*a);
# O* }6 K2 A/ b" M  s  20 O.x=(c*e-f*b)/(a*e-b*d);$ w$ P: u0 [6 m6 ?* O) M
  21 }
  q$ Y2 M) f3 ?' W: Q) Z% Q  22 int main()
1 R  M$ Z2 U* E4 b$ o% X( W4 F% f# ?  23 {0 A8 y  |0 w6 A
  24 freopen("HYOJ1337.in","r",stdin);& v& c% h6 L( C5 S1 A6 L2 J1 ~
  25 freopen("HYOJ1337.out","w",stdout);' L/ r& Z  s; h8 B
  26 scanf("%d",&n);* P0 D9 N$ t$ l! V- o. {
$ ?  `3 S+ `4 j1 C! `7 y* K  d& k
  27 for (int i=1;i
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 07:10 , Processed in 0.253278 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表