反時計回りに0からn-1まで列挙されたn個のセクターがあります。これらのセクター間の境界は無限のブランチです(そのうちのn個)。セクターは複素平面に存在し、nが偶数の場合、セクター0とn / 2は実軸で二等分され、セクターは等間隔に配置されます。
これらのブランチは、ジャンクションと呼ばれる特定のポイントで合流します。各ジャンクションは、セクターのサブセット(少なくとも3つ)に隣接しています。
ジャンクション(たとえば、セクター0と1に隣接するジャンクションから開始する前置順序)とジャンクション間の距離を指定すると、ツリーが一意に記述されます。
さて、そのような表現が与えられた場合、それが実際の軸に対して対称であるかどうかをどのように確認できますか?
たとえば、n = 6の場合、ツリー(0,1,5)(1,2,4,5)(2,3,4)には実線上に3つのジャンクションがあるため、実軸に対して対称になります。(015)と(1245)の間の距離が(1245)から(234)までの距離に等しい場合、これも仮想軸に対して対称です。
ツリー(0,1,5)(1,2,5)(2,4,5)(2,3,4)には4つのジャンクションがあり、これは仮想軸または実軸のいずれに対しても対称ではありませんが、180があります。表現の最初の2つのジャンクションと最後の2つのジャンクションの間の距離が等しい場合、回転対称度。
編集:これが6つの枝、距離1のすべての木です 。http://www2.math.su.se/~per/files/allTrees.pdf
したがって、説明/表現を前提として、実数、虚数、および180度の回転に対して対称であるかどうかを判断するためのアルゴリズムを見つけたいと思います。最後の例は180度の対称性を持っています。
編集2:これは実際に私の研究のためです。mathoverflowにも質問を投稿しましたが、競技プログラミングでの日々は、これはIOIタスクのようなものだと教えてくれます。数学のコードは素晴らしいでしょうが、Java、Python、または人間が読める他の言語で十分です。
(これらの対称性は、量子力学で優れた特性を持つシュレーディンガー方程式の特殊な種類のポテンシャルに対応します。)