ポリゴンの形成に使用できる辺の長さのソートされたリストがあります。このような値はあります()。
次に、これらの値のいずれかを使用して非縮退凸多角形を形成できるかどうかを見つける必要があります。
これにどのように取り組みますか?のオーダーまでは許容されます。できればより良い。どのように進めるか、ここで利用できる凸多角形の特性などについての一般的な考えが必要です。
ポリゴンの形成に使用できる辺の長さのソートされたリストがあります。このような値はあります()。
次に、これらの値のいずれかを使用して非縮退凸多角形を形成できるかどうかを見つける必要があります。
これにどのように取り組みますか?のオーダーまでは許容されます。できればより良い。どのように進めるか、ここで利用できる凸多角形の特性などについての一般的な考えが必要です。
回答:
定理1.エッジ長シーケンス持つすべてのポリゴンに対して、同じエッジ長シーケンスを持つ凸形ポリゴンが存在します。
証明。 こちら。
定義。 はの非負の実数です。それを満たす(厳密) -gon不等式場合全て用。
定理2.シーケンスは、ゴンの不等式を満たす限り、ポリゴンのエッジ長のシーケンスです。
証明。 こちら。(ここでの証明は高度な数学を必要とし、定理1も証明することに注意してください)
問題は次のように減少します。
一連の所定の非負実数、検索要素の部分配列を満たす -gon不等式。
単純なアルゴリズム:がごとの解であるかどうかを確認します。どれも機能しない場合、解決策はありません。
証明。解場合は、となるような最大の見つけます(つまり、ギャップがあります)。そのようなギャップがない場合は、完了です。ある場合は、もソリューションです。(直感的に、ギャップ内の最大の要素を使用し、最小の要素を削除しました)。このステップを(最大で回)繰り返し、すべてのギャップを埋めることができます。最終的に、一部のについてという形式のソリューションを作成しました。
アルゴリズムは時間で単純に実行できます。多分それを行うためのよりスマートな方法があります。
興味深いフォローアップ質問:
一連の所与非負実数、最長のサブシーケンスを見つける、そのようなそのすべてのの要素のサブシーケンス満たす -gon不等式。