AtCoderBeginnerContest154 Teilnahmememo (Python, A ~ E-Problem)

zunaechst

Ich habe in den letzten zwei Jahren programmiert (Hauptsprache: Python) und vor kurzem Atcoder gestartet und bin jetzt ein Aschecodierer. Da es sich um ein Memo handelt, ist die Qualität nicht so hoch, aber ich möchte ein Memo hinterlassen, das sich auf D- und E-Probleme sowie auf das Organisieren konzentriert. Bitte beachten Sie, dass der hier angezeigte Code Ihr eigener Code ist und möglicherweise nicht optimal ist.

Ein Problem

Fertig in 2 Minuten. Meine Antwort

S, T = input().split()
A, B = map(int, input().split())
U = input()

if S == U:
  A -= 1
else:
  B -=1
print(A, B)

B Problem

Fertig in 1 Minute. Meine Antwort

S = input()
print('x' * len(S))

C Problem

Fertig in 2 Minuten. Ob die Elemente doppelt vorhanden sind oder nicht, kann durch Vergleichen von "len (Liste)" und "len (Menge)" festgestellt werden.

Meine Antwort

N = int(input())
A = list(map(int, input().split()))

if len(A) == len(set(A)):
  print("YES")
else:
  print("NO")

D Problem

Wenn Sie die Summe eines bestimmten Abschnitts ermitteln möchten, können Sie die kumulative Summe verwenden, um sie mit explosiver Geschwindigkeit zu ermitteln. Bezüglich der kumulierten Summe Dieser Artikel-> Kann kumulative Summen schreiben, ohne nachzudenken! Es wird ausführlich in erklärt.

Als Merkmal der kumulierten Summe

Nehmen Sie sich O (N) O (N) Zeit für die Vorverarbeitung Die Speicherkapazität kann O (N) O (N) sein. Mit der Vorverarbeitung können Sie jede Anfrage mit O (1) O (1) mit explosiver Geschwindigkeit beantworten.

Meine Antwort

N, K = list(map(int, input().split()))
A = list(map(int, input().split()))
s = [0] * 1000000
for i in range(N):
    s[i+1] = s[i] + A[i]

max_s = 0
for i in range(N):
    if max_s < s[i+K] - s[i]:
        max_s = s[i+K] - s[i]
print((max_s+K) / 2)

Verwenden Sie für eine solche Implementierung das Schiebefenster anstelle der kumulierten Summe.

N, K = map(int, input().split())
A = list(map(int, input().split()))

expect = [(e + 1) / 2 for e in A]
window = sum(expect[0:K])
max_s = window
for i in range(N - K):
    window -= expect[i]
    window += expect[i + K]
    if window > max_s:
        max_s = window
print(max_s)

E Problem

Beachten Sie unten, was ich überprüft habe, weil ich es nicht lösen konnte.

Wenn Sie eine Technik namens Digit DP verwenden "Finden Sie die Anzahl der ganzen Zahlen zwischen 0 und N, die bestimmte Bedingungen erfüllen." "Finden Sie den Maximalwert einer Ganzzahl zwischen 0 und N, die eine bestimmte Bedingung erfüllt." Kann Probleme wie lösen. Referenzartikel-> Erklärung, die den juckenden Teil der Ziffer DP erreichen kann In den Worten dieses Artikels

Wenn die Ziffer, die Sie gerade prüfen, die i-te Ziffer von oben ist, ist das Flag, das bestimmt, ob sie kleiner als N ist, kleiner und es gibt j Ziffern ungleich Null, die zu zählende Variable Es sollte wie "dp [i] [kleiner] [j]" aussehen. Schreiben Sie unten.

Recommended Posts

AtCoderBeginnerContest154 Teilnahmememo (Python, A ~ E-Problem)
AtCoder ABC 177 Python (A ~ E)
AtCoder ABC 178 Python (A ~ E)
ABC166 in Python A ~ C Problem
[Python] Memo zum Erstellen von Scraping-Tools
Vorlage AtCoder ABC 179 Python (A ~ E)
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Ein Memo mit Python2.7 und Python3 in CentOS
Python-Anfänger Atcoder memo @ Keyence 2020, ABC-Problem
[AtCoder] Löse ABC1 ~ 100 Ein Problem mit Python
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
[AtCoder] Lösen Sie ein Problem von ABC101 ~ 169 mit Python
Berechnen wir das statistische Problem mit Python
Python-Anfänger-Memo (9.2-10)
ARC # 016 Teilnahmememo
Python Hinweis: Behandeln Sie Listen gemeinsam als Satz
Python-Anfänger-Memo (9.1)
Ein Memo, das ich in Python zusammengeführt habe
★ Memo ★ Python Iroha
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
[Python] EDA-Memo
Python 3-Operator-Memo
[Mein Memo] Python
Python3-Metaklassen-Memo
[Python] Grundkarten-Memo
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
Python-Anfänger-Memo (2)
[Python] Numpy Memo
Memo mit Python mit HiveServer2 von EMR verbunden
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
Löse den Atcoder ABC176 (A, B, C, E) in Python
kanonischer Python-Ausdruck oder Match-Objekt-Memo
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
Python-Klasse (Python-Lernnotiz ⑦)
Ein * Algorithmus (Python Edition)
Python OpenCV Installation (Memo)
[Python] Machen Sie einen Screenshot
Visualisierungsnotiz von Python
Pythons Lambda-Ausdruck ...
[Python] Memo über Funktionen
Dämonisiere einen Python-Prozess
Python-Memo für reguläre Ausdrücke
Memo zur Bisektionssuche (python2.7)
[Mein Memo] Python -v / Python -V
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Python-Tipps (mein Memo)
[Python] Memo Über Fehler