Wettbewerbsfähige Pro-Vorlage (Python)

Nach Vorlagen für C ++ habe ich beschlossen, auch eine Python-Vorlage zu erstellen. Codeforces, von denen ich in letzter Zeit abhängig bin, erfordern schnellere Eingaben, daher habe ich beschlossen, sie unvermeidlich einzuführen.

Vorlagenbeschreibung

(1)itertools Es ist das leistungsfähigste Modul im Wettbewerb Pro. Wenn Sie nicht wissen, wie man es benutzt, lesen Sie Mein Artikel. Übrigens habe ich auch Kombinationen \ _mit \ _Ersetzung verwendet, aber ich habe sie weggelassen, weil der Funktionsname lang ist.

(2)collections Deque, die aus beiden Richtungen hinzugefügt / gelöscht werden kann, Counter, der die Nummer jedes Elements speichern kann, beide sind effektive Datenstrukturen. Counter ist übrigens eine Unterklasse des Wörterbuchs, daher kann es wie ein Wörterbuch verwendet werden.

(3)bisect Dieses Modul wird zur Dichotomie verwendet. Wenn Sie nicht wissen, wie man es verwendet, lesen Sie Mein Artikel.

(4)math Ich benutze eigentlich nur gcd, lcm, sqrt. Trotzdem habe ich in Kodofo Dreiecksfunktionen verwendet (siehe siehe).

(5)fractions,decimal Dieses Modul wird verwendet, um Dezimalstellenfehler zu vermeiden. Brüche halten rationale Zahlen fehlerfrei und Dezimalzahlen halten Dezimalbrüche fehlerfrei. Ich bin der Meinung, dass es das erste und letzte war, das es in ABC169-C Multiplication 3 verwendet hat (Mein Kommentarartikel ist [hier](https: /) /qiita.com/DaikiSuyama/items/58f7ccbe3ad3abea9d2e#c%E5%95%8F%E9%A1%8C)).

(6)sys,input Beschleunigen Sie die Eingabe. Es ist keine Übertreibung zu sagen, dass es in Kodofo wesentlich ist.

(7)MOD,INF Beide werden häufig verwendet, wenn Sie ein kompetitiver Profi sind. Bitte ändern Sie den Wert entsprechend.

Geschichte der Ergänzungen / Korrekturen / Löschungen

Hinzugefügt (2020/11/04) setrecursionlimit erhöht die Obergrenze der Anzahl der Wiederholungen. Ich habe es auf $ 10 ^ 7 $ mal gesetzt. Übrigens, wenn Sie mit Codeforces einreichen, einschließlich des mit PyPy3 festgelegten Rekursionslimits, wird es MLE sein, also habe ich es auskommentiert (Rätsel ...).

Code

template.py


from itertools import accumulate,chain,combinations,groupby,permutations,product
from collections import deque,Counter
from bisect import bisect_left,bisect_right
from math import gcd,sqrt,sin,cos,tan,degrees,radians
from fractions import Fraction
from decimal import Decimal
import sys
#Möglicherweise benötigen Sie einen Streifen
input=sys.sys.stdin.readline
#from sys import setrecursionlimit
#setrecursionlimit(10**7)
MOD=10**9+7
INF=10**20

Recommended Posts

Wettbewerbsfähige Pro-Vorlage (Python)
[Python] Competitive Pro-Vorlage [At Coder]
Python Argparse Vorlage
[Python] Tkinter-Vorlage
Wettbewerbsfähige Programmierung mit Python
Python-Datenanalysevorlage
Jinja2 | Python-Vorlagen-Engine
Python-Unit-Test-Vorlage
Python Template Engine Empy
Python3-Standardeingabe (Competition Pro)
Python-Vorlage für Codeforces-manuelle Test-
Python Design Pattern - Template-Methode
Eine Sammlung wettbewerbsfähiger Pro-Techniken, die mit Python gelöst werden können
Python3-Standardeingabe für wettbewerbsfähige Programmierung
Python
[Competition Pro Struggle] Implementierte Union Find
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Vorlage AtCoder ABC 179 Python (A ~ E)
Vorlage
Wettbewerbsprogrammierung mit Python Lokale Umgebungseinstellungen
Vorlage zum Schreiben von Batch-Skripten in Python
Wettbewerbsfähiges Pro-Debüt Senki AtCorder Anfängerwettbewerb 160
Die Python-Projektvorlage, an die ich denke.
[Wettbewerbsprogrammierung] [Python3] Notwendiges Wissen für sich
Competitive Pro mit Python und VSCode-Vereinfachung der Standardeingabe und Automatisierung der Beurteilung von Beispielfällen