Täglicher AtCoder # 52 in Python

Einführung

Letztes Mal Heute werde ich 3 Fragen von AGC-A lösen.

#52 AGC040-A

** Gedanken ** Ich habe die Idee verstanden, konnte sie aber nicht umsetzen. Sei $ a $ eine Liste von $ [0] * (n + 1) $. Ich konnte es nicht implementieren, weil ich versucht habe, sowohl '<' als auch '>' zusammen zu behandeln. N ist auch ungefähr $ 5 * 10 ^ 5 $, also wird $ O (2N) (Berechnungsbetrag ignoriert den Koeffizienten) $ passieren. Zuerst von '<' verarbeiten. Wenn $ s [i] == '<' $ ist, wird $ a [i + 1] $ zu $ a [i] + 1 $. Als nächstes werden wir '>' verarbeiten, aber ein gewisser Einfallsreichtum ist erforderlich. '>' Muss wegen der Ungleichung von hinten berechnet werden. Multiplizieren Sie also den Bereich (n) mit umgekehrt. Wenn $ s [i] == '>' $, nimm $ a [i] = max (a [i + 1] + 1, a [i]) $. Nehmen Sie zum Schluss $ sum (a) $.

s = list(input())
n = len(s)

a = [0] * (n+1)
for i in range(n):
    if s[i] == '<':
        a[i+1] = a[i]+1
for i in reversed(range(n)):
    if s[i] == '>':
        a[i] = max(a[i+1]+1,a[i])
print(sum(a))

AGC015-A

** Gedanken ** Da $ N = 10 ^ 9 $ ist, wird $ O (N) $ nicht passieren. $ n = 1 $ → 1 wenn $ a = b $, 0 wenn $ a \ neq b $. Außerdem ist es 0, wenn $ a $> $ b $ und 1, wenn $ a $ = $ b $. Betrachten Sie die anderen Fälle. Die Mindestsumme ist nicht, wenn $ a * n $. Dies liegt daran, dass der Maximalwert nicht $ b $ erreicht, wenn alle $ a $ sind. Daher wird es $ a (n-1) + b $. Ebenso ist die maximale Summe $ b (n-1) + a $. Sie können alles von $ a (n-1) + b $ bis $ b (n-1) + a $ machen. Daher beträgt die Anzahl der Summen $ b (n-1) + a- {a (n-1) + b} + 1 $. Wenn Sie dies berechnen, können Sie es in $ (b-a) (n-2) + 1 $ umwandeln. Es kann berechnet werden, ohne die Formel zu transformieren, aber es wurde transformiert, weil es sauber sein sollte.

n, a, b = map(int,input().split())

if n == 1:
    if a == b:
        print(1)
    else:
        print(0)
elif a >= b:
    if a == b:
        print(1)
    else:
        print(0)
else:
    ans = (b-a)*(n-2)+1
    print(ans)

AGC006-A

** Gedanken ** Da $ N $ klein genug ist, suchen Sie in der Reihenfolge $ s oder t $ nach $ N $, um den Maximalwert zu finden, den es in der anderen enthält.

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

c = 0
for i in range(n):
    d = t[:i]
    if d in s:
        c = i
if s == t: #Sie können früher schreiben und den for-Prozess überspringen
    print(n)
else:
    print(2*n-c)

Zusammenfassung

Warum hat AGC-A einen schwierigen Eindruck? Beim ABC dieser Woche wird es braun sein. Wir sehen uns wieder, gute Nacht.

Recommended Posts

Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Täglicher AtCoder # 53 in Python
Täglicher AtCoder # 33 in Python
Täglicher AtCoder # 7 in Python
AtCoder # 24 jeden Tag mit Python
Täglicher AtCoder # 37 in Python
AtCoder # 8 jeden Tag mit Python
Täglicher AtCoder # 42 in Python
Täglicher AtCoder # 21 mit Python
Täglicher AtCoder # 17 mit Python
Täglicher AtCoder # 38 in Python
Täglicher AtCoder # 54 in Python
Täglicher AtCoder # 11 in Python
Täglicher AtCoder # 15 in Python
Täglicher AtCoder # 47 mit Python
Täglicher AtCoder # 45 mit Python
AtCoder # 30 jeden Tag in Python
Täglicher AtCoder # 40 mit Python
Täglicher AtCoder # 10 mit Python
AtCoder # 5 jeden Tag mit Python
Täglicher AtCoder # 28 in Python
Täglicher AtCoder # 39 in Python
Täglicher AtCoder # 20 in Python
Täglicher AtCoder # 19 in Python
Täglicher AtCoder # 52 in Python
Täglicher AtCoder # 3 in Python
Täglicher AtCoder # 14 mit Python
Täglicher AtCoder # 50 mit Python
Täglicher AtCoder # 26 mit Python
Täglicher AtCoder # 4 mit Python
Täglicher AtCoder # 43 in Python
Täglicher AtCoder # 29 in Python
Jeden Tag mit Python AtCoder # 22
Täglicher AtCoder # 49 in Python
Täglicher AtCoder # 27 in Python
AtCoder # 1 jeden Tag mit Python
Täglicher AtCoder # 25 mit Python
Täglicher AtCoder # 16 in Python
Täglicher AtCoder # 12 in Python
Täglicher AtCoder # 48 in Python
Täglicher AtCoder # 23 in Python
Täglicher AtCoder # 34 in Python
Täglicher AtCoder # 51 mit Python
Täglicher AtCoder # 31 in Python
Jeden Tag mit Python AtCoder # 46
Täglicher AtCoder # 35 mit Python
AtCoder # 9 jeden Tag mit Python
Täglicher AtCoder # 44 mit Python
Jeden Tag mit Python AtCoder # 41
Atcoder ABC164 A-C in Python
atCoder 173 Python
Python-Eingabehinweis in AtCoder
Atcoder ABC167 A-D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python