Précautions lors de l'utilisation de Python avec AtCoder

Educational DP Contest B --Frog 2 , il y a un cas où le code suivant devient inévitablement TLE, je l'ai donc soumis avec PyPy Il devient AC facilement. Quand j'ai enquêté plus tard, il a été constaté que le même algorithme peut être AC selon la langue utilisée ( référence ). Les utilisateurs de Python doivent choisir PyPy sauf s'ils utilisent une bibliothèque qui n'est pas implémentée dans PyPy. Cependant, soyez prudent car cela consomme beaucoup de mémoire. Quand je l'ai essayé avec Frog1, il consomme environ 4 fois plus de mémoire avec la même source.

Langue Mémoire
Python(3.82) 20524 KB
PyPy3 (7.3.0) 84904 KB
import sys

sys.setrecursionlimit(250000)
input = sys.stdin.readline

def main():
    n, k = map(int, input().split())
    h = list(map(int,input().split()))

    cost = [sys.maxsize]*n
    cost[0] = 0
    for i in range(0,n):
        for j in range(1, k + 1):
            if (i+ j>= n):
                break
            abs_ = abs(h[i] - h[i+j])
            if cost[i+j] >cost[i] + abs_ :
                cost[i+j] = cost[i] + abs_
    print(cost[n-1])
main()

Recommended Posts

Précautions lors de l'utilisation de Python avec AtCoder
Choses à garder à l'esprit lors de l'utilisation de cgi avec python.
Points à garder à l'esprit lors du développement d'un robot d'exploration en Python
Points à garder à l'esprit lors de la copie de listes Python
Points à garder à l'esprit lors du traitement des chaînes en Python2
Points à garder à l'esprit lors du traitement des chaînes en Python 3
Points à garder à l'esprit lors de l'utilisation de Python pour ceux qui utilisent MATLAB
Points à garder à l'esprit lors de la conversion d'un vecteur de ligne en vecteur de colonne avec ndarray
Points à garder à l'esprit lors de la création d'outils automatisés pour l'atelier en Python
Choses à surveiller lors de l'utilisation d'arguments par défaut en Python
Points à garder à l'esprit lors du déploiement de Keras sur votre Mac
Choses à noter lors de l'initialisation d'une liste en Python
Comment quitter lors de l'utilisation de Python dans Terminal (Mac)
Trois choses auxquelles j'étais accro lors de l'utilisation de Python et MySQL avec Docker
Points à garder à l'esprit lors de la prédiction par lots avec GCP ML Engine
Précautions lors de l'utilisation de Pit avec Python
Lors de l'utilisation de MeCab avec python dans virtualenv
Précautions lors de l'utilisation de six avec Python 2.5
Lors de l'utilisation d'expressions régulières en Python
Comment se connecter à AtCoder avec Python et soumettre automatiquement
Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy
Résumé des points à garder à l'esprit lors de l'écriture d'un programme qui s'exécute sur Python 2.5
Comment ne pas échapper au japonais en traitant avec JSON en Python
Essayez de vous connecter à qiita avec Python
Comment utiliser BigQuery en Python
Connectez-vous à Slack à l'aide de requêtes en Python
Pour faire fonctionner la station d'horodatage en Python
Comment gérer l'erreur OAuth2 lors de l'utilisation des API Google à partir de Python
Précautions lors du traitement des structures de contrôle dans Python 2.6
Encodage de caractères lors du traitement de fichiers en Python 3
Comment utiliser tkinter avec python dans pyenv
Erreur lors de la tentative d'installation de psycopg2 en Python
Matériel à lire lors de la mise en route de Python
[Fenwick_Tree] Lecture de la bibliothèque AtCoder avec un codeur vert ~ Implémentation en Python ~
Qu'utilisez-vous lorsque vous testez avec Python?
Lorsque vous utilisez PyQtGraph avec Python Pyside, faites attention à l'ordre d'importation
Pour envoyer automatiquement des e-mails avec des pièces jointes à l'aide de l'API Gmail en Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Daily AtCoder # 53 en Python
Daily AtCoder # 33 en Python
AtCoder # 24 tous les jours avec Python
Daily AtCoder # 37 en Python
AtCoder # 8 tous les jours avec Python
Daily AtCoder # 42 en Python
AtCoder # 21 quotidien avec Python
Daily AtCoder # 17 avec Python
Daily AtCoder # 38 en Python
Daily AtCoder # 54 en Python
Daily AtCoder # 11 en Python
Daily AtCoder # 15 en Python
Daily AtCoder # 47 avec Python
Daily AtCoder # 13 en Python
AtCoder # 45 quotidien avec Python
AtCoder # 30 tous les jours en Python
AtCoder # 40 quotidien avec Python
AtCoder # 10 quotidien avec Python
AtCoder # 5 tous les jours avec Python
Daily AtCoder # 28 en Python