Oui. codeforces http://codeforces.com/contest/373/problem/C
Tweet original https://twitter.com/cocodrips/statuses/412848727175331840 Gist qui a été publié https://gist.github.com/cocodrips/8001370
Veuillez vous référer à la publication ci-dessus pour le texte intégral du code original.
à l'origine
if __name__ == "__main__":
num = map(int, raw_input().split())
num=num[0]
data = []
for _ in range(num):
next=map(int, raw_input().split())
data.append(next[0])
solve(data)
ma proposition
if __name__ == "__main__":
num = int(raw_input())
data = []
for x in range(num):
data.append(int(raw_input()))
solve(data)
Pour les données de test, copiez l'exemple de cas et préparez 1 ligne + 200 000 lignes de données. La première ligne est le nombre de lignes à donner, et les 200 000 lignes suivantes sont les données copiées dans Texto.
CPU et mémoire d'Ichio Processor 2.5 GHz Intel Core i5 Memory 16 GB 1333 MHz DDR3
Mesure du temps
time
import=time
start=time.clock()
##Autre partie d'exécution
end=time.clock()
t=end-start
Comment tu as commenté
if __name__ == "__main__":
num = int(raw_input())
data = (int(raw_input()) for _ in xrange(num))
solve(data)
Exécutez 3 fois et indiquez la valeur du milieu dans le tableau ci-dessous
Partie 1: Données originales Partie 2: num = int (raw_input ()) Seule la manière de recevoir la première ligne est modifiée Partie 3: Changez uniquement la façon de recevoir data.append (int (raw_input ())) en tournant avec for Partie 4: Les deux ont changé Partie 5: Comment vous avez commenté
modèle | temps de traitement |
---|---|
Partie 1 | 0.990795 secondes |
Partie 2 | 0.995793 secondes |
Partie 3 | 0.661866 secondes |
Partie 4 | 0.677707 secondes |
Partie 5 | 0.647318 secondes |
Le décalage horaire était cette fois significatif dans la manière de recevoir à partir de la deuxième ligne ...
Le cas de test dans ma première ligne était de 200 000, et je n'ai reçu que 6 chiffres par ligne à partir de 500 000, qui était le TLE maximum sur les conditions préalables pour la question, et je ne pouvais pas sentir le décalage horaire.
À première vue, il semble qu'il n'y ait pas beaucoup de différence entre les parties 3, 4 et 5, et il semble bon de dire qu'il y a une différence de vitesse selon qu'elle est inférieure ou non à 0,65 seconde.
En bonus
data.append(input())
Lorsque j'ai supprimé le casting avec int, cela a pris plusieurs fois plus de temps, il semble donc préférable de ne pas le supprimer.
Recommended Posts