Module: Muster in der dynamischen Programmierung


Problem

7 /7


Problem

Max hatte zwei Zeilen von n und t Länge m im Notizbuch bestehend aus den Buchstaben " a " und " b " des lateinischen Alphabets. Max weiß, dass die t-Linie die Ansicht von "ab... " , das heißt, die Zeile ist markiert " a " und das " b " .

Vielleicht entdeckte Max morgen, dass jemand ihre Linie ruiniert hat. Einige Buchstaben wurden durch das Symbol &quot ersetzt; ? " .

Nennen Sie die Reihenfolge der Einträge i, i + 1, ..., i + m - 1 Zeile t in s wenn 1 ≤ i n - m + 1 und t1= sI, t2= s1...m= si + m - 1

Die Schönheit der Zeile s wird als die maximale Anzahl der nicht erschöpfenden Eintragung der Zeile t in ihr bewertet. Max kann einige der Symbole &quot ersetzen; ? " mit " (a) " oder " (b) " . Max will einen Ersatz machen, so dass die Schönheit der Linie s so gut wie möglich ist. Von allen solchen Optionen will sie die Symbole &quot ersetzen; ? " . Finde heraus, wie viele Ersatz sie tun muss.

Eingabe:
Die erste Zeile enthält eine ganze Zahl n (1 ≤ 10)5.Länge der Linie s.
Die zweite Eingabezeile enthält eine s-Länge n-Linie, bestehend aus den Buchstaben " a " und " b " des lateinischen Alphabets und den Symbolen " ?
Die dritte Zeile enthält eine ganze Anzahl von m (1 ≤ 10)5.) die Länge der Leitung t ist. Linie t selbst enthält " a " in ungeraden Positionen und " b " auf sogar.

Ausgangsdaten:
Nehmen Sie die einzige Nummer, die Mindestanzahl der Ersatz, die Vasia machen muss, um die Schönheit der Linie so weit wie möglich zu machen.

Beispiele:
EingangsdatenAusgangsdaten
5.
bb?a?
1
2
ANHANG
Was?
3
2

Beschreibung:
Im ersten Beispiel hat Zeile t die Ansicht von " a " . Die einzige beste Option ist, alle Symbole “?” durch “a” zu ersetzen.
Im zweiten Beispiel, kann die aba?aba? Sie können nicht mehr als zwei Plätze bekommen.