Wenn Sie keinen Spickzettel erstellen, wird es schwieriger, also für die Organisation.
In c ++ scheint der Code ziemlich bekannt zu sein, aber Python scheint einen impliziten weisheitsähnlichen Schreibstil zu haben. Wenn man sich die Antworten ansieht, gibt es viele Bibliotheken und Datenstrukturen, die jeder für selbstverständlich hält. Ich mache diese stillschweigenden Dinge, während ich mir Notizen mache, aber ich bin verwirrt, also werde ich sie für mich selbst zusammenstellen. Ich wollte eine Zusammenfassung dieser Voraussetzungen, wenn ich Atcoder mit Python starte. .. ..
Es gibt viele Fehler, aber bitte versuchen Sie mehr.
Spickzettel zum Programmieren von Python-Wettbewerben für mich Ich suche hier immer nach Eingaben.
Competitive Procheet Sheet (python3) Hier finden Sie Brüche und Kräfte. Ich kenne die Bedeutung einiger Bibliotheken nicht, aber die Verwendung ist sehr praktisch.
Python-Standardbibliothek: Order Maintenance Bisect halbieren siehe hier
Unterschied zwischen sortieren und sortiert, um die Liste in Python zu sortieren Siehe hier zum Sortieren
[Was ist das Lambda, das in Pythons sortierter Funktion verwendet wird] (https://qiita.com/n10432/items/e0315979286ea9121d57) Dies war für die Lamda-Funktion leicht zu verstehen.
Python, Set-Operation mit Set-Typ (Beurteilung der Summenmenge, Produktmenge, Teilmenge usw.) set,len,add,discard(), remove(), pop(), clear()
[Python] Zusammenfassung der Slice-Operationen Siehe hier für Scheiben
[Berechnen und erhalten Sie mit Python maximale und minimale gemeinsame Vielfache] (https://note.nkmk.me/python-gcd-lcm/) Siehe hier für gcd (maximales Engagement) und lcm (minimales gemeinsames Vielfaches). Sie können 3 oder 4 Zahlen ausgeben.
[Teilungsquotient und Rest gleichzeitig mit Python divmod abrufen] (https://note.nkmk.me/python-divmod-quotient-remainder/) Suchen Sie hier nach dem Quotienten
[Schleifenverarbeitung durch Python für Anweisung (Bereich, Aufzählung, Zip usw.)] (https://note.nkmk.me/python-for-usage/) Siehe hier für Reichweite, Aufzählung, Reißverschluss (Inklusive Ausdrücke wie [Ausdruck für Variablennamen in iterierbarem Objekt] Mehrere Schleifen: itertools.product (), Ich benutze es nicht selbst, aber ich kann es verwenden, wenn ich den Code anderer Leute lese.)
Zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste mit Python Counter Es ist jetzt schwierig für mich, aber es ist unangemessen bequem, nach Elementen wie Sequenzen zu suchen.
10^0.5
n**0.5
Anzahl
l.count('a')
Nebel beseitigen
set([1,1,2,2,3,3]) ⇨[1,2,3]
wenn X nicht in p: X ist nicht in der Liste von #p
Fallkonvertierung str.upper (): Konvertiert alle Zeichen in Großbuchstaben str.lower (): Konvertiert alle Zeichen in niedrigere
Absolut: abs () Summe (Liste)
Größer: max (,) Kleiner: min (,)
count.values()
Umgekehrte Reihenfolge: umgekehrt ()
Auflage in mehreren Spalten mit for: enumerate () In mehreren Spalten mit for: zip ()
Mods sind normalerweise Mod = 10 ** 9 + 7
Da die Anzahl der Versuche von 10 ^ 12 ziemlich streng ist, handelt es sich in der Regel um ein Zweigkali oder ein Gerät. Da 10 ^ 6 sehr nahe am Quadrat liegt, liegt O (N ^ 2) tendenziell nahe an der Grenze, so dass ein gewisser Einfallsreichtum erforderlich ist.
print ("". Join (lis)): Jetzt können Sie der Liste beitreten
print(list(itertools.permutations([1, 2, 3])))
-> [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
c = collections.Counter(l)
⇨Counter({'a': 4, 'c': 2, 'b': 1})
⇨ c.keys () ist ['a', 'b', 'c']
⇨ c.values () ist [4, 1, 2]
⇨ c.items () ist [('a', 4), ('b', 1), ('c', 2)]
⇨ c.most_common () ist ('a', 4), ('c', 2), ('b', 1)
⇨ c.most_common () [:: -1] ist [('b', 1), ('c', 2), ('a', 4)] Mit anderen Worten, [:: -1] ist von entgegengesetzt angeordnet. Bedeutung von
(Zitat: Zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste mit Python Counter)
a = lambda x : x*x print(a(4)) #16
(Wenn Sie die anonyme Funktion λ in a und 4 in x, x ^ 2 einfügen)
Wenn Sie das Verhalten im Codetest nicht verstehen, können Sie das Debuggen einfach durchführen, indem Sie überprüfen, wie die Variable mit print (Variable) aussieht.
for _ in range(N):
Dies gibt 0 ~ N-1 aus
Fügen Sie am Ende ":" hinzu
Die nächste Zeile der for-Anweisung wird eingerückt (4 Leerzeichen oder Tabulatoren, um Platz zu schaffen).
Ein Fehler kann auftreten, wenn Tabulator und Leerzeichen in der Zeile nach der for-Anweisung gemischt werden.
Sie können diesen Betrag auch in Scheiben schneiden und durch c ersetzen, wie in für c in l [2: 5]:
.
Sie können auch bei 1 beginnen, indem Sie für i im Bereich (1: N):
einstellen
if s == 1:
= Ist nicht eins, aber es ist keine Bedingung, es sei denn, es ist durch zwei verbunden (= nur = ist eine Zuweisung)
Fügen Sie am Ende ":" hinzu
Die nächste Zeile der if-Anweisung wird eingerückt (4 Leerzeichen oder Tabulatoren, um Platz zu schaffen).
Ein Fehler kann auftreten, wenn Tabulator und Leerzeichen in der Zeile nach der if-Anweisung gemischt werden.
while n!=1:
Die nächste Zeile der while-Anweisung wird eingerückt (4 Leerzeichen oder Tabulatoren, um Platz zu schaffen).
while bedeutet zu tun, "während dieser bedingte Ausdruck erfüllt ist".
dfs, bfs, Union Find-Programme
[Richtlinien zur Verbesserung von AtCoder, einem von Red Coder gelehrten Wettbewerbsprofi [Zwischenausgabe: Ziel für hellblauen Coder! ]] (https://qiita.com/e869120/items/eb50fdaece12be418faa#2-3-%E5%88%86%E9%87%8E%E5%88%A5%E5%88%9D%E4%B8%AD%E7%B4%9A%E8%80%85%E3%81%8C%E8%A7%A3%E3%81%8F%E3%81%B9%E3%81%8D%E9%81%8E%E5%8E%BB%E5%95%8F%E7%B2%BE%E9%81%B8-100-%E5%95%8F) Es scheint, dass Sie mit 100 Fragen hellblau oder sogar blau anstreben können. Probleme werden nach Methoden kategorisiert, daher ist dies eine gute Möglichkeit, eine Methode zu trainieren, in der Sie nicht gut sind. Der Artikel, der diesen Artikel mit Python löst [[Python] Ich habe versucht, 100 frühere Fragen zu lösen, die Anfänger und Fortgeschrittene lösen sollten [Teil 4/22]] (https://qiita.com/rudorufu1981/items/71abd5320a636e9146cb)
Recommended Posts