Löse ABC098-C in Python

Einführung

Die Person von PyBegi hat es gelöst, also werde ich es huckepack nehmen.

ABC098-C Attention

** Gedanken ** Aufgrund der Einschränkungen des Problems muss es maximal $ O (N) $ gespeichert werden, sodass es nicht ausreicht, für jeden Anführer zu berechnen. Daher verwenden wir die kumulative Summe. Jetzt können Sie für jeden Leser rechnen, ohne jedes Mal $ summieren zu müssen. Übrigens beträgt der Rechenaufwand für $ sum $ in Python $ O (N) $. Wenn Sie bisher verstanden haben, tun Sie es einfach.

n = int(input())
s = input()

count_e = [0] * n
count_w = [0] * n
for i in range(n):
    if i == 0:
        if s[i] == 'E':
            count_e[i] = 1
        else:
            count_w[i] = 1
        continue
    if s[i] == 'E':
        count_e[i] = count_e[i-1] + 1
        count_w[i] = count_w[i-1]
    else:
        count_e[i] = count_e[i-1]
        count_w[i] = count_w[i-1] + 1

ans = 10 ** 9 #e+w ist höchstens 3*10**Es ist ungefähr 5, aber ich habe einen Spielraum
for i in range(n):
    if s[i] == 'E':
        e = count_e[-1] - count_e[i] #Verwenden Sie die kumulative Summe
        w = count_w[i]
    else:
        e = count_e[-1] - count_e[i] #Verwenden Sie die kumulative Summe
        w = count_w[i] - 1 #Subtrahieren Sie Ihren Anteil
    ans = min(ans,e+w)
print(ans)

Zusammenfassung

Ich bin froh, dass ich einen Algorithmus entwickelt habe, der anhand der Einschränkungen verwendet werden kann. Wir sehen uns wieder, gute Nacht.

Recommended Posts

Löse ABC098-C in Python
Löse ABC168D in Python
Löse ABC167-D mit Python
Löse ABC159-D in Python
Löse ABC169 mit Python
Löse ABC160-E mit Python
Löse ABC176 E in Python
Löse Wooldridge-Übungen in Python
Löse ABC175 D in Python
Lösen Sie Optimierungsprobleme mit Python
Löse den Atcoder ABC169 A-D mit Python
Löse ABC036 A ~ C mit Python
Löse ABC037 A ~ C mit Python
Lösen Sie normale Differentialgleichungen in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Löse ABC175 A, B, C mit Python
ABC 157 D - Lösungsvorschläge für Freunde in Python!
Ich wollte ABC159 mit Python lösen
Löse ABC165 A, B, D mit Python
Lösen Sie das maximale Subarray-Problem in Python
Sortierte Liste in Python