切换到宽版
  • 4987阅读
  • 0回复

分形 [复制链接]

上一主题 下一主题
离线wing
 
只看楼主 倒序阅读 0 发表于: 2006-10-23
分形
时限:1s
问题背景:
分形是分数维的,介于2维与3维之间。完整的分形图往往具有有界的面积和无限的周长。为探寻分形的奥秘,King执着地进行着他与众不同的研究。
题目描述:
King先研究简单分形:平面上,有一个半径R0(R0=105)的圆,圆心处于坐标原点,它与若干个半径R1的圆外切,每个半径R1的圆与若干个半径R2的圆外切,……每个半径Ri的圆与若干个半径Ri+1的圆外切。任意两圆不相交、重叠、内含或内切。半径Ri的圆只可能与半径Ri-1或Ri+1的圆外切,i>0时恰与1个半径Ri-1的圆外切。
这需先研究有限层的简单分形,即只由半径为R0~Rn的圆构成的n+1层分形。图1为一个5层简单分型。由于仅有限层,所有此图的边界变为有限长的了。
King在边界上找出了与分型图的性质有关的若干个点对(Pi,Qi),他想知道沿着圆的边界从Pi到Qi,最短的光滑路径的长度是多少(如图中绿色曲线)。
光滑是指:路径沿两圆公切点拐弯时切向保持不变。图2中左边两段路径是光滑的,右边的路径不光滑。
输入说明:
第一行为3个整数n,m,t。m表示圆的个数,编号为1~m。t为特殊点对数。
第二行为n个正整数R1~Rn。
接下来m行,每行四个数Xi,Yi,Si,Fi描述圆心位置,圆的尺寸(圆i的半径就是RSi)以及圆i相切的尺寸更大的圆的编号(Xi,Yi可能是实数,X1=Y1=S1=F1=0)。
再接下来t行,每行4数PiW,PiA,QiW,QiA,描述一个点对(Pi,Qi)的坐标:PiW表示Pi处于PiW这个圆上,并且以此圆圆心为原点的幅角为PiA(0<=PiA<=2π)。QiW表示Qi处于QiW这个圆上,并且以此圆圆心为原点的幅角为QiA(0<=PiA<=2π)
保证PiW≠QiW,任意一个特殊点不会同时处于两个圆上(切点处无特殊点)。
输出说明:
输出t行,每行一整数Li,从Pi到Qi的最短光滑路径长度的值/π精确到整数。
数据范围:1<=n,n+1<=m<=3000,t<=100000。
1<Ri<Ri-1-1(i>=1),保证一个圆最多与10个圆相切。
50%的数据满足m<=300,t<=1000。
快速回复
限100 字节
 
上一个 下一个