Anfänger ABC154 (Python)

Klicken Sie hier für die Wettbewerbsseite

https://atcoder.jp/contests/abc154 A

s, t = input().split()
a, b = map(int, input().split())
u = input()
if u == s: a -= 1
else: b -= 1
print(a, b)

Verzweigen Sie, indem Sie nur s mit der if-Anweisung vergleichen.
Einreichung https://atcoder.jp/contests/abc154/submissions/9973325 B

s = input()
ans = 'x' * len(s)
print(ans)

(Länge der Eingabezeichenfolge) * 'x' wird ausgegeben. Ich könnte es in einer Zeile schreiben. print (len (input ()) * 'x')
Einreichung https://atcoder.jp/contests/abc154/submissions/9975951 C

def main():
    n = int(input())
    a = list(map(int, input().split()))
    seta = set(a)
    ans = 'YES' if len(a) == len(seta) else 'NO'
    print(ans)    
main()

Sie müssen nur prüfen, ob doppelte Elemente vorhanden sind, sodass Sie die Liste mit set () kombinieren können, um ein doppeltes Element zu erstellen. Es ist in Ordnung, wenn Sie die Anzahl dieser Elemente vergleichen und prüfen, ob sie gleich sind.
Einreichung https://atcoder.jp/contests/abc154/submissions/9980825 D

def main():
    n, k = map(int, input().split())
    p = list(map(int, input().split()))
    ex = [0 for _ in range(n)]
    for i in range(n):
        ex[i] = (p[i]+1)/2
    
    sumex = sum(ex[:k])
    tmp = sum(ex[:k])
    for i in range(n-k):
        tmp = tmp + (ex[i+k] - ex[i])
        sumex = max(sumex, tmp)
    print(sumex)
    
main()

Wenn Sie die Summe der erwarteten Werte von j = i bis i + k-1 im Bereich von i = 1 ~ n-1 berechnen, dauert es im schlimmsten Fall N × K = 10 bis zur 10. Potenz, also ist es nutzlos (ich war nutzlos) Einreichung). Bereiten Sie daher die Summe der ersten bis k erwarteten Werte als Anfangswert in "tmp" vor, und der i + 1. erwartete Wert ist "(i-erwarteter Wert) - (i-erwarteter Wert) + (i Durch Setzen von + k + 1. erwarteter Wert) `können Sie die Berechnungsprobleme vermeiden (ein Bild, das Sie notieren müssen?). Und aktualisiert durch Vergleich mit dem Maximalwert "sumex" zu diesem Zeitpunkt.
(Erwarteter Wert der Summe von p_i) = (Summe des erwarteten Wertes von p_i), sodass die Berechnung des erwarteten Wertes am Ende zusammengefasst werden kann.
Einreichung (nach Beendigung des Wettbewerbs) https://atcoder.jp/contests/abc154/submissions/10020043

E und F.

Ich möchte es hinzufügen, wenn ich AC kann.

Nachtrag 2020/2/10

Kommentare von @ c-yan hinzugefügt. In Bezug auf die Beschreibung des D-Problems scheint der folgende Teil nach der Korrektur schneller zu funktionieren. Vor der Korrektur

ex = [0 for _ in range(n)]

Überarbeitet

ex = [0] * n

Außerdem können Sie in diesem Fall in einer Zeile einschließlich des darunter liegenden Teils schreiben.


ex = [(p[i]+1)/2 for i in range(n)]

Es gab hier einen hilfreichen Artikel als verwandten Artikel. 8 kleine Unterschiede in der Verarbeitungsgeschwindigkeit, die Python kennen sollte

Recommended Posts

Anfänger ABC154 (Python)
Anfänger ABC156 (Python)
Anfänger ABC155 (Python)
Anfänger ABC157 (Python)
Python-Anfänger-Memo (9.2-10)
AtCoder ABC 174 Python
Python-Anfänger-Memo (9.1)
Python-Anfängernotizen
[Anfänger] Python-Array
[Anfänger] Python-Funktionen
PyQ ~ Python Anfänger ~
Python-Anfänger-Memo (2)
AtCoder ABC 175 Python
Python-Anfänger Zundokokiyoshi
Python-Anfänger Atcoder memo @ Keyence 2020, ABC-Problem
Löse ABC169 mit Python
ABC147 C --HonestOrUnkind2 [Python]
AtCoder ABC 177 Python (A ~ E)
ABC168
Löse AtCoder ABC166 mit Python
ABC164
Python Super Anfänger versucht zu kratzen
AtCoder ABC 178 Python (A ~ E)
Python
Atcoder ABC164 A-C in Python
Löse ABC176 E in Python
ABC-Memorandum [ABC163 C --managementr] (Python)
Python-Anfänger startet Discord Bot
ABC174
AtCoder ABC 176 Python (A ~ E)
Atcoder ABC167 A-D in Python
Löse ABC175 D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python
ABC175
ABC170
AtCoder ABC 182 Python (A ~ D)
Web Scraping Anfänger mit Python
[Python-Anfänger] Pip selbst aktualisieren
Atcoder Anfänger Wettbewerb 152 Kiroku (Python)
ABC182
ABC153
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python
ABC-Memorandum [ABC159 C - Maximales Volumen] (Python)
Löse ABC163 A ~ C mit Python
ABC127 A, B, C Erklärung (Python)
Löse ABC166 A ~ D mit Python
ABC166 in Python A ~ C Problem
Löse den Atcoder ABC169 A-D mit Python
Lass uns mit Python mit Python spielen [Anfänger]
[Python-Anfänger] Teilen Sie eine Liste (5 Zeilen).
Löse ABC168 A ~ C mit Python
ABC-Memorandum [ABC161 C - Integer ersetzen] (Python)
Löse ABC036 A ~ C mit Python