[Python] Suche (NumPy) ABC165C

ABC165C

Da es sich um eine Bedingung einer linearen Gleichung handelt, kann die Anzahl der Berechnungen mithilfe des NumPy-Arrays erheblich reduziert werden. Das NumPy-Array verhält sich wie ein Iterable.

Es kann auch mit PyPy ausgeführt und die Berechnungsgeschwindigkeit erhöht werden. (Die Speichernutzung nimmt aus irgendeinem Grund zu.)

Python3 1063 ms 106372 KB PyPy3 571 ms 155196 KB

Beispielcode


import sys
import itertools
import numpy as np
 
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline

N, M, Q = map(int, readline().split())
 
A = np.array(list(itertools.combinations_with_replacement(range(1, M + 1), N)))
# [[1 1 1]
#  [1 1 2]
#  [1 1 3]
#  [1 1 4]
#  [1 2 2] ...

n = len(A)
score = np.zeros(n, np.int32)
m = map(int, read().split())
for a, b, c, d in zip(m, m, m, m):
    cond = A[:, b - 1] - A[:, a - 1] == c #NumPy-Array
    score += d * cond
 
print(score.max())

Recommended Posts

[Python] Suche (NumPy) ABC165C
[Python] Suche (itertools) ABC167C
Mein Numpy (Python)
# Python-Grundlagen (#Numpy 1/2)
ABC146C (Dichotomie)
# Python-Grundlagen (#Numpy 2/2)
Numpy-Index-Suche
Python #Numpy Basics
[Python] Numpy Memo
Python- und Numpy-Tipps
Sequentielle Suche mit Python
Python-Übung 1-Breiten-Prioritätssuche
Löse ABC146-C mit Python
Dichotomie mit Python
Python Basic 8 Numpy Test
Memo zur Bisektionssuche (python2.7)
[Python] Bisection-Suche ABC155D
Berechnung des Python-Numpy-Arrays
Löse ABC098-C in Python
Python Bit vollständige Suche
Lineare Suche in Python
Dichotomie mit Python
Dichotomie mit Python 3
Suchen Sie Twitter mit Python
[Python] Numpy Daten sortieren
Binäre Suche in Python
Python Basic - Pandas, Numpy -
[Python] BFS (Suche nach Breitenpriorität) ABC168D
[Python] Berechnungsmethode mit numpy
SMO mit Python + NumPy implementiert
Suche nach Breitenpriorität / bidirektionale Suche (Python Edition)
Homebrew Python - Youtube Suchprogramm
[Python] DFS (Tiefenprioritätssuche) ATC001A
Matrixprodukt in Python numpy
Binäre Suche in Python / C ++
Algorithmus in Python (Dichotomie)
Vollbit-Suche mit Python
[Python] DFS (Tiefenprioritätssuche) ABC157D
Erstellen Sie ein Python-Numpy-Array
[AtCoder] ABC165C Persönliche Notiz [Python]
Suchmaschinen arbeiten mit Python
Suche nach Twitter-Tweets mit Python
[Python] Suche nach Tiefenpriorität und Suche nach Breitenpriorität
[Python] Numpy Referenz, Extraktion, Kombination
Optimieren Sie die Websuche mit Python
Algorithmus in Python (Breitenprioritätssuche, bfs)
Schreiben Sie eine Dichotomie in Python
Indexierter Zugriff auf das Python-Numpy-Array
Einführung in die Python Numerical Calculation Library NumPy
Python
Setzen Sie Python, Numpy, OpenCV3 in Ubuntu14
Suche nach Breitenpriorität (BPF) Vielleicht verstanden (Python)
Selbstorganisierende Karte in der Python NumPy-Version
Beherrsche die lineare Suche! ~ Python-Implementierungsversion ~
Python-Anwendung: Numpy Teil 3: Double Array
Schreiben Sie eine Suche mit Tiefenpriorität in Python
[At Coder] ABC085C - Otoshidamas Python-Antwort