Biorąc pod uwagę listę przedziałów czasu, muszę znaleźć zbiór maksymalnych nie nakładających się przedziałów.Maksymalne niepokrywające się interwały w drzewie interwałowym
Na przykład
jeśli mamy następujące przedziały:
[0600, 0830], [0800, 0900], [0900, 1100], [0900, 1130],
[1030, 1400], [1230, 1400]
Także to jest podane, że czas musi być w przedziale [0000, 2400]
.
Maksymalny niepokrywający się zestaw przedziałów to [0600, 0830], [0900, 1130], [1230, 1400]
.
Rozumiem, że maksymalne opakowanie zestawu to NP-Complete. Chcę potwierdzić, czy mój problem (z interwałami zawierającymi tylko czas rozpoczęcia i zakończenia) jest również NP-Complete.
A jeśli tak, to czy istnieje sposób na znalezienie optymalnego rozwiązania w czasie wykładniczym, ale z bardziej inteligentnym przetwarzaniem wstępnym i danymi przycinania. Lub, jeśli istnieje względnie łatwy do wdrożenia algorytm traktowalny z ustalonym parametrem. Nie chcę iść na algorytm aproksymacyjny.
Czy "maksimum" oznacza największą liczbę _ przedziałów lub najdłuższy _ całkowity czas_ interwałów? Twoje przykładowe rozwiązanie to 3 interwały o łącznym czasie trwania 6,5 godziny. Co sprawia, że jest maksymalna, 3 lub 6,5? –