Module: Kartesischer Baum


Problem

2 /3


Eine weitere Aufgabe über Abfragen im Array

Problem

Sie erhalten ein Array A der Größe n und q von Abfragen dazu. Es gibt zwei Arten von Anfragen:
  • li ri   Führen Sie eine zyklische Verschiebung des Segments [li, ri] & nbsp;nach rechts durch. Das heißt, für jedes solche & nbsp; x< / em>, что li ≤ x < riax + 1  ; wird gleich dem vorherigen Wert & nbsp;ax< / sub>< / em> und & nbsp;ali< / sub>< / em> & nbsp;wird gleich dem vorherigen Wert & nbsp; ari< / sub>< / em>;< / li>
  • 2li ri — drehen Sie das Segment um [li, & thinsp;ri].< / li> < / ul>  
    Необходимо вывести массив после обработки всех запросов.
     
    eingabe< / strong>
    Die erste Zeile enthält zwei Ganzzahlen & nbsp;n< / em> и q (1 ≤ n, q ≤ 2·105).
    Die zweite Zeile enthält n ganze Zahlen a1a2, ..., an (1 ≤ ai ≤ 109).
    Als nächstes kommen die q & nbsp;Strings. In i-y von ihnen werden drei ganze Zahlen geschrieben tiliri, wobei ti — Geben Sie iAnfrage, [Li, Ri] — das Segment, auf dem die Anfrage ausgeführt wird (1 ≤ ti ≤ 2, 1 ≤ li ≤ ri ≤ n).
     
    Ausgabe
    Ausgabe m Nummern, i-E davon ist gleich der Nummer an Position bi & nbsp;nach Verarbeitung aller Anfragen.

    Eingabe< / td> Ausgabe< / td> < / tr>
    6 3< / div>
    1 2 3 4 5 6< / div>
    2 1 3< / div>
    2 3 6< / div>
    1 1 6< / div> < / td> 1 3 2 6 5 4< / td> < / tr> < / tkörper> < / Tabelle>

    (c) Kurbatow E., 2018