#P2316. [HNOI2005] 分形

[HNOI2005] 分形

题目描述

%![](https://cdn.luogu.com.cn/upload/pic/1357.png)

分形是分数维的,介于 22 维与 33 维之间。完整的分形图往往具有有界的面积和无限的周长。为了探寻分形的奥秘,King 执着地进行着与众不同的研究。

首先他研究简单分形:平面上有一个半径为 R0R_0R0=105R_0 = 10^5)的圆,圆心处于坐标原点,它与若干个半径为 R1R_1 的圆外切,每个半径为 R1R_1 的圆与若干个半径为 R2R_2 的圆外切,……,每个半径为 RiR_i 的圆与若干个半径为 Ri+1R_{i+1} 的圆外切。任意两圆不相交、不重叠、不内含、不内切。半径为 RiR_i 的圆只可能与半径为 Ri1R_{i-1}Ri+1R_{i+1} 的圆外切,i>0i > 0 时恰与 1 个半径为 Ri1R_{i-1} 的圆外切。

作为基础,他先研究有限层的简单分形,即只由半径为 R0RnR_0 \sim R_n 的圆构成的 n+1n + 1 层分形。图 11 是一个 55 层简单分形。由于只有有限层,所以此图的边界为有限长。

King 在边界上找出了与分形图的性质有关的若干个点对(Pi,QiP_i, Q_i),从 PiP_iQiQ_i,最短的光滑路径的长度是多少(如图 11 中的加粗曲线)。

光滑路径是指:路径在两圆公切点拐弯时切线方向保持不变。图 22 中左边两段(加粗)路径是光滑的,而右边的(加粗)路径不光滑。

输入格式

%![](https://cdn.luogu.com.cn/upload/pic/1358.png)

第一行为 33 个整数 n,m,tn, m, t。其中 mm 表示圆的个数(并且圆的编号为 1m1 \sim m),tt 为特殊点对数。

第二行为 nn 个正整数 R1RnR_1 \sim R_n

接下来的 mm 行表示各个圆,每行有 44 个数 Xi,Yi,Si,FiX_i, Y_i, S_i, F_i, (Xi,Yi)(X_i, Y_i) 是圆 ii 的圆心位置,圆 ii 的半径是 RSiR_{S_i},与圆 ii 相切的尺寸更大的圆的编号是 FiF_iXiX_iYiY_i 可能是实数。

再接下来的 tt 行表示各个特殊点对,每行有 44 个数 Pi,tW,Pi,tA,Qi,tW,Qi,tAP_{i,tW}, P_{i,tA}, Q_{i,tW},Q_{i,tA},用于描述一个特殊点对 (Pi,Qi)(P_i, Q_i) 的位置:

  • Pi,tWP_{i,tW} 表示点 PiP_i 处于 Pi,tWP_{i,tW} 这个圆上,并且以此圆圆心为原点的幅角为 Pi,tAP_{i,tA}
  • Qi,tWQ_{i,tW} 表示点 QiQ_i 处于 Qi,tWQ_{i,tW} 这个圆上,并且以此圆圆心为原点的幅角为 Qi,tAQ_{i,tA}

输出格式

%![](https://cdn.luogu.com.cn/upload/pic/1359.png)

对于每个特殊点对,输出一行一个整数,表示最短长度除以 π\pi 后四舍五入保留整数的结果。

1 3 3
50000
0 0 0 0
150000 0 1 1
0 150000 1 1
3 5.497787 	  2 2.356194
3 1.570796 	  2 0.0
3 0.0         2 1.570796

175000
150000
200000

提示

对于 50%50\% 的数据:

  • m300m \le 300
  • t1000t \le 1000

对于 100%100\% 的数据:

  • 1n<m30001 \le n < m \le 3000
  • 1t1051 \le t \le 10^5
  • 2Rn<Rn1<<R1<R02 \le R_n < R_{n-1} < \ldots < R_1 < R_0
  • Ri1Ri2R_{i-1} - R_i \ge 2
  • R0=105R_0 = 10^5
  • S0=1S_0 = -1
  • X1=Y1=F1=S1=0X_1 = Y_1 = F_1 = S_1 = 0
  • 3×108Xi,Yi3×108-3 \times 10^8 \le X_i, Y_i \le 3 \times 10^8
  • 0Sin0 \le S_i \le n
  • 1Fim1 \le F_i \le m
  • FiiF_i \ne i
  • SFi=Si1S_{F_i} = S_i-1
  • 1Pi,tW,Qi,tWm1 \le P_{i,tW},Q_{i,tW} \le m
  • Pi,tWQi,tWP_{i,tW} \ne Q_{i,tW}
  • 0Pi,tA,Qi,tA<2π0 \le P_{i,tA},Q_{i,tA} < 2\pi
  • 所有的圆之间要么外切要么相离。
  • 所有特殊点都不是切点。
  • 一个圆最多与 1010 个圆外切。
  • 所有实数最多保留 66 位小数。