Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-

introduction

Bonjour. C'est moelleux et moelleux. Nous résoudrons l'introduction aux algorithmes et aux structures de données d'AOJ. Il est facile de garder une trace de ce que vous avez appris.

Cela fait moins d'un an et demi que j'ai commencé à toucher la programmation moi-même AtCoder est vert, donc je ne suis pas un homme fort. Travaillons dur ensemble.

rendre possible avec Pai-chan

table des matières

Cette fois PART3: Structure de données de base. Je veux faire de mon mieux et le faire jusqu'au bout.

ALDS1_3_A: Pile ALDS1_3_B: File d'attente ALDS1_3_C: liste concaténée bidirectionnelle ALDS1_3_D : Areas on the Cross-Section Diagram

ALDS1_3_A: Pile

pile ~

a = list(map(str,input().split()))
l = []
for i in a:
    if i=="+":
        a1 = l.pop()
        a2 = l.pop()
        a3 = a1+a2
        l.append(a3)

    elif i=="-":
        a1 = l.pop()
        a2 = l.pop()
        a3 = a2-a1
        l.append(a3)

    elif i=="*":
        a1 = l.pop()
        a2 = l.pop()
        a3 = a1*a2
        l.append(a3)

    else:
        l.append(int(i))

print(l[0])

ALDS1_3_B: File d'attente

Utilisons deque

from collections import deque
n,q = map(int,input().split())
l = [list(map(str,input().split())) for _ in range(n)]
time = 0
dq = deque(l)
while dq:
    a,b = dq.popleft()
    if int(b)<= q:
        time += int(b)
        print(a,time)

    else:
        time += q
        b = int(b) - q
        dq.append([a,b])

ALDS1_3_C: liste concaténée bidirectionnelle

Fondamentalement calculé avec deque En Python, si vous ne faites pas les deux points suivants, cela deviendra TLE ・ Il est plus rapide de définir l'entrée par vous-même ・ Si vous n'avez pas besoin d'index, pour a in d: est plus rapide


from collections import deque
import sys
input = sys.stdin.readline
n = int(input())
d = deque([])
for _ in range(n):
    a = list(map(str,input().split()))
    if a[0]=="insert":
        d.appendleft(a[1])


    elif a[0]=="delete":
        if a[1] in d:
            d.remove(a[1])

    elif a[0]=="deleteFirst":
        s = d.popleft()


    elif a[0]=="deleteLast":
        s = d.pop()

print(*d)

ALDS1_3_D : Areas on the Cross-Section Diagram

Il n'a pas encore fondu ... Pien




en conclusion

Je le mettrai à jour lorsque D. fondra. Je ne fumerai pas

Recommended Posts

Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie1-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie2-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie4-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-
[Introduction à cx_Oracle] (Partie 9) Mappage des types de données DB et Python (version 8 ou ultérieure)
[Introduction à l'application Udemy Python3 +] 36. Utilisation de In et Not
[Introduction to Data Scientists] Bases de Python ♬ Fonctions et classes
Introduction à la vérification des effets Rédaction des chapitres 4 et 5 en Python
Introduction à Python scikit-learn, matplotlib, algorithme monocouche (~ vers B3 ~ part3)
[Introduction à Python] Combinaison des données Nikkei Average et NY Dow CSV
[Introduction à Python3 Jour 1] Programmation et Python
Notes de lecture (en Python et Stan) pour une introduction à la modélisation statistique pour l'analyse de données (Midorimoto)
traitement pour utiliser les données notMNIST en Python (et essayé de les classer)
[Introduction to Data Scientists] Bases de Python ♬ Branchements conditionnels et boucles
[Introduction aux Data Scientists] Bases de Python ♬ Fonctions et fonctions anonymes, etc.
[Introduction à Python] Comment utiliser la classe en Python?
Modulation et démodulation AM avec Python Partie 2
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
Livre Ali en python: Sec.2-4, structure de données
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
Web-WF Python Tornado Partie 3 (Introduction à Openpyexcel)
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
Représentez facilement des données graphiques dans le shell et Python
Comment utiliser is et == en Python
"Introduction à l'analyse de données par modélisation statistique bayésienne à partir de R et Stan" implémenté en Python
Introduction aux vecteurs: Algèbre linéaire en Python <1>
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
[Introduction au Data Scientist] Bases de Python ♬
[Python] [Supplément] Chapitre 04-09 Structures de données diverses (théorie des ensembles et arithmétique dans les ensembles)
Qu'est-ce qu'un algorithme? Introduction à l'algorithme de recherche] ~ Python ~
Comment générer une séquence en Python et C ++
Introduction à la vérification de l'efficacité Chapitre 3 écrit en Python
Variables Python et types de données appris avec la chimio-automatique
Recevoir et afficher les données de formulaire HTML en Python
tse --Introduction à l'éditeur de flux de texte en Python
[Python] Permutation des lignes et des colonnes de données Numpy
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
[Introduction à Python3, jour 22] Chapitre 11 Traitement parallèle et mise en réseau (11.1 à 11.3)
Envoyer un message à Skype et Chatwork en Python
[Introduction à Python] Comment gérer les données au format JSON
[Introduction à l'application Udemy Python3 +] 64. Espace de noms et portée
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
[Introduction à l'algorithme] Trouvez l'itinéraire le plus court [Python3]
Introduction à la vérification de l'efficacité Chapitre 2 écrit en Python
Pour représenter la date, l'heure, l'heure et les secondes en Python
Comment tracer l'autocorrélation et l'autocorrélation partielle avec Python
[Python] Comment nommer les données de table et les sortir avec csv (méthode to_csv)
Introduction à l'analyse des séries temporelles ~ Modèle d'ajustement saisonnier ~ Implémenté en R et Python
[Introduction à l'application Udemy Python3 +] 35. Opérateurs de comparaison et opérateurs logiques
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
Résumé des outils nécessaires pour analyser les données en Python
Traitement pleine largeur et demi-largeur des données CSV en Python
[Introduction au renforcement de l'apprentissage] part.1-Algorithme Epsilon-Greedy dans Bandit Game
[Introduction à la décomposition des éléments] Organisons les méthodes d'analyse des séries chronologiques en R et python ♬
Algorithme génétique en python
Note de lecture: Introduction à l'analyse de données avec Python
Introduction au langage Python
Introduction à OpenCV (python) - (2)
J'ai essayé d'implémenter GA (algorithme génétique) en Python
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
Écrire des tests en Python pour profiler et vérifier la couverture