我有 n 个扇区,逆时针枚举 0 到 n-1。这些扇区之间的边界是无限的分支(其中 n 个)。扇区位于复平面中,对于 n 偶数,扇区 0 和 n/2 被实轴二等分,扇区间距均匀。
这些分支在某些点相遇,称为交汇点。每个路口都与扇区的一个子集(至少其中 3 个)相邻。
指定连接点(以前缀顺序,假设从与扇区 0 和 1 相邻的连接点开始)以及连接点之间的距离,唯一地描述了树。
现在,给定这样的表示,我如何查看它是否与实轴对称?
例如,n=6,树 (0,1,5)(1,2,4,5)(2,3,4) 在实线上有三个交汇点,所以它是关于实轴对称的。如果 (015) 和 (1245) 之间的距离等于从 (1245) 到 (234) 的距离,这也是关于虚轴对称的。
树 (0,1,5)(1,2,5)(2,4,5)(2,3,4) 有 4 个连接点,无论是虚轴还是实轴,这都不是对称的,但它有 180 个如果表示中的前两个和最后两个交汇点之间的距离相等,则旋转对称度数。
编辑:这里是所有有 6 个分支的树,距离为 1。 http://www2.math.su.se/~per/files/allTrees.pdf
因此,鉴于描述/表示,我想找到一些算法来确定它是否是对称的实数、虚数和 180 度旋转。最后一个示例具有 180 度对称性。
编辑2:这实际上是为了我的研究。我也在 mathoverflow 上发布了这个问题,但是我在竞赛编程中的日子告诉我,这更像是一个 IOI 任务。mathematica 中的代码会非常好,但 java、python 或任何其他人类可读的语言就足够了。
(这些对称性对应于薛定谔方程中的特殊势能,它在量子力学中具有很好的性质。)