粉兔的题解令我学到许多……
题意简述
给定单位圆上的 $n$ 个点 $(\cos(\dfrac{2\pi T_i}{L}), \sin(\dfrac{2\pi T_i}{L}))$ 。求等概率随机三个不同的点的内心的期望位置。
$3\le n\le 3000, n\le L\le 10^9, 0\le T_i < T_{i + 1}\le L - 1$ 。
主要思路
如图,$\triangle{ABC}$ 的外心为 $O$ ,内心为 $I$ 。
分别延长 $AI, BI, CI$ 与 $\odot O$ 交于点 $A^\prime, B^\prime, C^\prime$ 。则易得 $A^\prime, B^\prime, C^\prime$ 分别为弧 $\overset{\LARGE{\frown}}{BC}, \overset{\LARGE{\frown}}{CA}, \overset{\LARGE{\frown}}{AB}$ (不经过 $A, B, C$ 的那一段)的中点。
根据鸡爪定理,有 $A^\prime I = A^\prime C, B^\prime I = B^\prime C$ ,所以 $IC\!\perp\!A^\prime B^\prime$ ,即 $IC^\prime\!\perp\!A^\prime B^\prime$ 。所以 $I$ 同时为 $\triangle{A^\prime B^\prime C^\prime}$ 的垂心 $H^\prime$ 。
根据欧拉线定理,有 $\overrightarrow{OH^\prime} = 3\overrightarrow{OG^\prime} = \overrightarrow{OA^\prime} + \overrightarrow{OB^\prime} + \overrightarrow{OC^\prime}$ 。
所以求 $E(I) = E(H^\prime)$ 只用求 $E(A^\prime) + E(B^\prime) + E(C^\prime)$ 即可。
这个枚举点对计算即可,复杂度 $O(n^2)$ 。
参考代码
1 |
|