Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part4-

Einführung

Hallo. Es ist zäh und zäh. Wir werden die Einführung in die Algorithmen und Datenstrukturen von AOJ lösen. Es ist einfach, aufzuzeichnen, was Sie gelernt haben.

Es ist weniger als ein halbes Jahr her, seit ich anfing, mich selbst mit dem Programmieren zu beschäftigen AtCoder ist grün, also bin ich kein starker Mann. Lass uns hart zusammenarbeiten.

Pacho Fasomacho Pasomacho Paso

Inhaltsverzeichnis

Diesmal TEIL 3: Grundlegende Datenstruktur. Ich möchte mein Bestes geben und es bis zum Ende tun.

ALDS1_4_A: Linear Search ALDS1_4_B: Binary Search ALDS1_4_C: Dictionary ALDS1_4_D : Areas on the Cross-Section Diagram

ALDS1_4_A: Linear Search

Überprüfen Sie jedes Element von t Berechnungsbetrag ist 0 (n * q)

n = int(input())
s = list(map(int,input().split()))
q = int(input())
t = list(map(int,input().split()))
ans = 0
for t1 in t:
    if t1 in s:
        ans += 1

print(ans)

ALDS1_4_B: Binary Search Überprüfen Sie jedes Element von t Der Berechnungsbetrag beträgt 0 (n * q) → 0 (10 ** 9), daher ist eine Dichotomie nicht möglich, also 0 (q * ln (n)). Halbierungssuche

def b_search(x, target):
    found = False
    min = 0
    max = len(x)
    mid = (min + max) // 2
    while min <= max:
        if target == x[mid]:
            found = True
            break
        elif target > x[mid]:
            min = mid + 1
        else:
            max = mid - 1
        mid = (min + max) // 2
    if found:
        return True
    else:
        return False


n = int(input())
s = sorted(list(set(map(int,input().split()))))
q = int(input())
t = list(map(int,input().split()))
ans = 0
for i in t:
    if  b_search(s, i):
        ans += 1
print(ans)

ALDS1_4_C: Dictionary

Grundsätzlich mit deque berechnet



n = int(input())
d = {}

for i in range(n):
    demand, str_list = map(str,input().split())
    if demand == "insert":
        d[str_list] = True

    else:
        if str_list in d:
            print("yes")
        else:
            print("no")

ALDS1_3_D : Areas on the Cross-Section Diagram

Dichotomie behoben Erstellen Sie eine Funktion, die mit einem bestimmten Wert gelöscht werden kann Der Rest ist der Ablauf der zweiminütigen Suche


n,k = map(int,input().split())
w = list(int(input())for i  in range(n))
def amount(p):
    e_amount = 0
    track = 1
    for i in w:
        if i > p:
            return False
        elif e_amount + i > p:
            e_amount = i
            track += 1
        else:
            e_amount += i

    if track <= k:
        return True
    else:
        return False


ng = 0
ok = 10**10
while ng + 1 < ok :
    mid = (ok+ng)//2
    if amount(mid) :
        ok = mid
    else:
        ng = mid

print(ok)

abschließend

Ich werde mein Bestes geben

Recommended Posts

Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part1-
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part2-
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part4-
Lösen der Einführung von AOJ in Algorithmen und Datenstrukturen in Python -Part3-
[Einführung in cx_Oracle] (Teil 6) Zuordnung von DB- und Python-Datentypen
[Einführung in cx_Oracle] (Teil 9) Zuordnung von DB- und Python-Datentypen (Version 8 oder höher)
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
[Einführung in Data Scientists] Grundlagen von Python ♬ Funktionen und Klassen
Einführung in die Effektüberprüfung Schreiben der Kapitel 4 und 5 in Python
Einführung in Python Scikit-Learn, Matplotlib, Single-Layer-Algorithmus (~ in Richtung B3 ~ Teil3)
[Einführung in Python] Kombinieren Sie Nikkei-Durchschnitts- und NY Dow-CSV-Daten
[Einführung in Python3 Tag 1] Programmierung und Python
Sortieralgorithmus und Implementierung in Python
Einführung in Python Hands On Teil 1
Hashing von Daten in R und Python
Lesen von Notizen (in Python und Stan) zur Einführung in die statistische Modellierung für die Datenanalyse (Midorimoto)
Verarbeitung zur Verwendung von notMNIST-Daten in Python (und versucht, sie zu klassifizieren)
[Einführung in Data Scientists] Grundlagen von Python ♬ Bedingte Verzweigung und Schleifen
[Einführung in Data Scientists] Grundlagen von Python ♬ Funktionen und anonyme Funktionen usw.
[Einführung in Python] Wie verwende ich eine Klasse in Python?
AM-Modulation und Demodulation mit Python Part 2
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.1-8.2.5)
Ali Buch in Python: Abschnitt 2-4, Datenstruktur
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.3-8.3.6.1)
Web-WF Python Tornado Teil 3 (Einführung in Openpyexcel)
[Einführung in Python3 Tag 19] Kapitel 8 Datenziele (8.4-8.5)
[Einführung in Python3 Tag 18] Kapitel 8 Datenziele (8.3.6.2 bis 8.3.6.3)
Zeichnen Sie Daten einfach in Shell und Python
Komprimieren Sie Python-Daten und schreiben Sie in SQLite
Verwendung ist und == in Python
"Einführung in die Datenanalyse durch statistische Bayes'sche Modellierung beginnend mit R und Stan" in Python implementiert
Einführung in Vektoren: Lineare Algebra in Python <1>
Einführung in die Überprüfung der Wirksamkeit Kapitel 1 in Python geschrieben
[Einführung in Data Scientist] Grundlagen von Python ♬
[Python] [Ergänzung] Kapitel 04-09 Verschiedene Datenstrukturen (Mengenlehre und Arithmetik in Mengen)
Datenanalyse: Einfache Anwendung deskriptiver Statistiken und Schätzungsstatistiken auf CSV-Daten in Python
So generieren Sie eine Sequenz in Python und C ++
[Einführung in Python3 Tag 12] Kapitel 6 Objekte und Klassen (6.3-6.15)
Einführung in die Überprüfung der Wirksamkeit Kapitel 3 in Python geschrieben
Python-Variablen und Datentypen, die mit Chemoinfomatik gelernt wurden
Empfangen und Anzeigen von HTML-Formulardaten in Python
tse - Einführung in den Text Stream Editor in Python
[Python] Vertauschen von Zeilen und Spalten mit Numpy-Daten
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Geschrieben "Einführung in die Effektüberprüfung" in Python
[Einführung in Python3, Tag 22] Kapitel 11 Parallele Verarbeitung und Vernetzung (11.1 bis 11.3)
Senden Sie eine Nachricht an Skype und Chatwork in Python
[Einführung in Python] Umgang mit Daten im JSON-Format
[Einführung in die Udemy Python3 + -Anwendung] 64. Namespace und Gültigkeitsbereich
[Einführung in Python3 Tag 11] Kapitel 6 Objekte und Klassen (6.1-6.2)
[Einführung in den Algorithmus] Finden Sie den kürzesten Weg [Python3]
Einführung in die Überprüfung der Wirksamkeit Kapitel 2 in Python geschrieben
Zur Darstellung von Datum, Uhrzeit, Uhrzeit und Sekunden in Python
Wie man Autokorrelation und partielle Autokorrelation mit Python zeichnet
[Python] So benennen Sie Tabellendaten und geben sie mit csv aus (to_csv-Methode)
Einführung in die Zeitreihenanalyse ~ Saisonales Anpassungsmodell ~ In R und Python implementiert
[Einführung in die Udemy Python3 + -Anwendung] 35. Vergleichsoperatoren und logische Operatoren
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
Zusammenfassung der Tools, die zum Analysieren von Daten in Python benötigt werden
Verarbeitung von CSV-Daten in voller und halber Breite in Python
[Einführung in die Stärkung des Lernens] Teil 1 - Epsilon-Greedy-Algorithmus im Banditenspiel