[Python] Recherche (NumPy) ABC165C

ABC165C

Puisqu'il s'agit d'une condition d'une équation linéaire, le nombre de calculs peut être considérablement réduit en utilisant le tableau NumPy. Le tableau NumPy agit comme un itérable.

Il peut également être exécuté avec PyPy et la vitesse de calcul peut être augmentée. (L'utilisation de la mémoire augmente pour une raison quelconque)

Python3 1063 ms 106372 KB PyPy3 571 ms 155196 KB

Exemple de code


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 #Tableau NumPy
    score += d * cond
 
print(score.max())

Recommended Posts

[Python] Recherche (NumPy) ABC165C
[Python] Recherche (itertools) ABC167C
Mon Numpy (Python)
Les bases de #Python (#Numpy 1/2)
ABC146C (dichotomie)
Les bases de #Python (#Numpy 2/2)
recherche d'index numpy
Principes de base de Python #Numpy
[Python] Mémo Numpy
Astuces Python et Numpy
Recherche séquentielle avec Python
Exercice Python Recherche prioritaire sur 1 largeur
Résolvez ABC146-C avec Python
Dichotomie avec Python
Test numpy Python Basic 8
Recherche de bisection (python2.7) mémo
[Python] Recherche de bisection ABC155D
calcul de tableau numpy python
Résoudre ABC098-C en Python
recherche complète de bits python
Recherche linéaire en Python
Dichotomie avec python
Dichotomie avec Python 3
Rechercher sur Twitter avec Python
[Python] Tri des données Numpy
Recherche binaire en Python
Python Basic --Pandas, Numpy-
[Python] BFS (recherche de priorité de largeur) ABC168D
[Python] Méthode de calcul avec numpy
Implémentation de SMO avec Python + NumPy
Recherche de priorité de largeur / recherche bidirectionnelle (édition Python)
Homebrew Python - Programme de recherche YouTube
[Python] DFS (recherche de priorité en profondeur) ATC001A
Produit matriciel en python numpy
Recherche binaire en Python / C ++
Algorithme en Python (dichotomie)
Recherche de bits complète avec Python
[Python] DFS (recherche de priorité en profondeur) ABC157D
Créer un tableau numpy python
[AtCoder] Note personnelle ABC165C [Python]
Les moteurs de recherche fonctionnent avec python
Rechercher des tweets Twitter avec Python
[Python] Recherche de priorité de profondeur et recherche de priorité de largeur
[Python] Référence Numpy, extraction, combinaison
Rationalisez la recherche Web avec Python
Algorithme en Python (recherche de priorité de largeur, bfs)
Ecrire une dichotomie en Python
Accès en indice au tableau numpy python
Introduction à la bibliothèque de calcul numérique Python NumPy
Python
Mettez python, numpy, opencv3 dans ubuntu14
Recherche de priorité de largeur (BPF) Peut-être compris (python)
Carte auto-organisée dans la version Python NumPy
Maîtrisez la recherche linéaire! ~ Version d'implémentation Python ~
Application Python: Numpy Partie 3: Double tableau
Écrire une recherche de priorité en profondeur en Python
[At Coder] ABC085C - La réponse Python d'Otoshidama