Wir haben eine sortierte Liste von Seitenlängen, die zur Bildung eines Polygons verwendet werden können. Es gibt solche Werte ( ).
Jetzt müssen wir herausfinden, ob wir 10 dieser Werte verwenden können, um ein nicht entartetes konvexes Polygon zu bilden.
Wie gehen wir das an? Alles bis zur Größenordnung von ist akzeptabel. Besser wenn möglich. Ich brauche die allgemeine Vorstellung davon, wie es weitergehen soll, welche Eigenschaften konvexe Polygone hier ausgenutzt werden können usw.
Antworten:
Beweis. Hier .
Beweis. Hier . (Beachten Sie, dass der Beweis hier fortgeschrittene Mathematik erfordert und auch Satz 1 beweist.)
Das Problem reduziert sich auf:
Ein einfacher Algorithmus: Überprüfen Sie, obeinich, … ,eini + k - 1 ist eine Lösung für jeden 1 ≤ i ≤ n - k + 1 . Wenn keiner von ihnen funktioniert, gibt es keine Lösung.
Beweis. Wenn wir eine Lösung habeneinich1, … ,einichk , finde den größten j , so dass einichj + 1- -einichj> 1 , (dh es gibt eine Lücke). Wenn es keine solche Lücke gibt, sind wir fertig. Wenn es einen gibt, danneinich2, … ,einichj,einichj + 1- 1,einichj + 1, … ,einichk ist auch eine Lösung. (Intuitiv haben wir das größte Element in der Lücke verwendet und das kleinste Element entfernt). Wir können diesen Schritt (höchstens) wiederholenk - 1 Zeiten) und füllen Sie alle Lücken. Schließlich haben wir eine Lösung der Form erstellteinichk- k + 1 ,einichk- - k , … ,einichk- - 1 ,einichk für einige ich .
Der Algorithmus kann naiv in ausgeführt werdenO ( k n ) Zeit. Vielleicht gibt es einen intelligenteren Weg, dies zu tun.
Eine interessante Folgefrage:
quelle