Maximum aller Subarrays der Größe K mit Segmentbaum - GeeksforGeeks

Blog

Gegeben ein Array arr[] und eine ganze Zahl ZU , besteht die Aufgabe darin, das Maximum für jedes zusammenhängende Subarray der Größe zu finden ZU .



Beispiele:

Input: arr[] = {1, 2, 3, 1, 4, 5, 2, 3, 6}, K = 3 Output: 3 3 4 5 5 5 6 Explanation: Maximum of 1, 2, 3 is 3 Maximum of 2, 3, 1 is 3 Maximum of 3, 1, 4 is 4 Maximum of 1, 4, 5 is 5 Maximum of 4, 5, 2 is 5 Maximum of 5, 2, 3 is 5 Maximum of 2, 3, 6 is 6 Input: arr[] = {8, 5, 10, 7, 9, 4, 15, 12, 90, 13}, K = 4 Output: 10 10 10 15 15 90 90 Explanation: Maximum of first 4 elements is 10, similarly for next 4 elements (i.e from index 1 to 4) is 10, So the sequence generated is 10 10 10 15 15 90 90

Empfohlen: Bitte versuchen Sie Ihren Ansatz auf {HIER} zuerst, bevor Sie mit der Lösung fortfahren.

Sich nähern :



Die Idee ist, die Segmentbaum um das Maximum aller Subarrays der Größe K zu beantworten.

1, Darstellung von Segmentbäumen



  • Blattknoten sind die Elemente des Eingabearrays.
  • Jeder interne Knoten repräsentiert das Maximum aller seiner Kinder.
  1. Konstruktion des Segmentbaums aus dem angegebenen Array:
  • Wir beginnen mit einem Segment arr[0 . . . n-1], und jedes Mal, wenn wir das aktuelle Segment in zwei Hälften teilen (wenn es noch kein Segment der Länge 1 geworden ist), rufen wir dann die gleiche Prozedur für beide Hälften auf und speichern für jedes solche Segment das Maximum Wert in einem Segmentbaumknoten.
  • Alle Ebenen des erstellten Segmentbaums werden bis auf die letzte Ebene vollständig gefüllt. Außerdem wird der Baum ein vollständiger Binärbaum sein, da wir Segmente auf jeder Ebene immer in zwei Hälften teilen.

#algorithms #arrays #competitive programing #tree #segment-tree #subarray

www.geeksforgeeks.org

Maximum aller Subarrays der Größe K mit Segmentbaum - GeeksforGeeks

Ein Informatikportal für Computerfreaks. Es enthält gut geschriebene, gut durchdachte und gut erklärte Informatik- und Programmierartikel, Quizfragen und Fragen zur Praxis/Wettbewerbsprogrammierung/Unternehmensinterview.