[PYTHON] AtCoderBeginnerContest177 Review & Summary (erste Hälfte)

AtCoder ABC177 Dies ist eine Zusammenfassung der Probleme des AtCoder Beginner Contest 177, die am Samstag, den 29.08.2018 aufgetreten sind, beginnend mit Problem A und unter Berücksichtigung der Überlegungen. Das erste Halbjahr befasst sich mit Fragen bis ABC. Das Problem wird zitiert, aber bitte überprüfen Sie die Wettbewerbsseite für Details. Klicken Sie hier für die Wettbewerbsseite Offizieller Kommentar PDF

Problem A Komm nicht zu spät

Problemstellung Takahashi trifft sich mit Aoki. Der Treffpunkt ist $ D $ Meter von Takahashis Haus entfernt und die Treffzeit ist $ T $ Minuten später. Takahashi verlässt jetzt sein Zuhause und fährt mit $ S $ Metern pro Minute direkt zum Treffpunkt. Wirst du pünktlich zum Treffen sein?

abc177a.py


d, t, s  = map(int, input().split())
if d <= t * s:
    print("Yes")
else:
    print("No")

Problem B Teilzeichenfolge

Problemstellung $ 2 $ Zwei Zeichenfolgen $ S, T $ sind angegeben. Schreiben Sie einige Zeichen in $ S $ neu, sodass $ T $ eine Teilzeichenfolge von $ S $ ist. Wie viele Zeichen muss ich mindestens umschreiben? Ein Teilstring ist jedoch ein kontinuierlicher Teilstring. Zum Beispiel ist 'xxx' eine Teilzeichenfolge von 'yxxxy', aber keine Teilzeichenfolge von 'xxyxx'.

Da $ S und T $ mehr als $ 1 $ und weniger als $ 1000 $ sind, können alle Möglichkeiten rechtzeitig berechnet werden. Wenn Sie beispielsweise das 7-stellige 'abcdefg' und das 3-stellige 'efh' berücksichtigen, wie viele Zeichen müssen für jedes von 'abc', 'bcd', 'cde', 'def' und 'efg' neu geschrieben werden. Wird berechnet und der kleinste ist die Antwort.

abc177b.py


s = input()
t = input()
min_count = 1000
for i in range(len(s) - len(t) + 1):
    count = 0
    for j in range(len(t)):
        if s[i+j] != t[j]:
            count += 1
    min_count = min(count, min_count)
    if min_count == 0:
        break
print(min_count)

C Problem Teilzeichenfolge

Problemstellung $ N $ ganze Zahlen $ A_1,…, A_N $ sind angegeben. $ 1 \ leq i <j \ leq Ermitteln Sie die Summe von $ A_i × A_j $ für alle Paare $ (i, j) $, die N $ mit $ mod (10 ^ 9 + 7) $ erfüllen.

Die zu berechnende Summe ist $ A_1 × (A_2 + ... + A_N) + A_2 × (A_3 + ... + A_N) + ... + A_ {N-1} × (A_N) $, daher werden alle einzeln berechnet. Der Rechenaufwand kann unterdrückt werden, anstatt dies zu tun.

abc177c.py


n = int(input())
a_list = list(map(int, input().split()))
ans = 0
total = 0
mod = 10 ** 9 + 7
for i in range(n):
    total += a_list[i]
    if total >= mod:
        total = total % mod
for i in range(n - 1):
    total -= a_list[i]
    if total < 0:
        total += mod
    ans += a_list[i] * total
    if ans >= mod:
        ans = ans % mod
print(ans)

Dies ist das Ende der ersten Hälfte. Vor kurzem wurde der offizielle Kommentar sehr sorgfältig beschrieben, daher hoffe ich, dass Sie sich für die detaillierte Lösung darauf beziehen können. Vielen Dank für das Lesen bis zum Ende der ersten Hälfte.

Die zweite Hälfte wird das DE-Problem erklären. Fortsetzung in der zweiten Hälfte.

Recommended Posts

AtCoderBeginnerContest175 Review & Summary (erste Hälfte)
AtCoderBeginnerContest164 Review & Summary (erste Hälfte)
AtCoderBeginnerContest169 Review & Summary (erste Hälfte)
AtCoderBeginnerContest174 Review & Summary (erste Hälfte)
AtCoderBeginnerContest173 Review & Summary (Erste Hälfte)
AtCoderBeginnerContest165 Review & Summary (erste Hälfte)
AtCoderBeginnerContest170 Review & Summary (erste Hälfte)
AtCoderBeginnerContest167 Review & Summary (erste Hälfte)
AtCoderBeginnerContest177 Review & Summary (erste Hälfte)
AtCoderBeginnerContest168 Review & Summary (erste Hälfte)
AtCoderBeginnerContest178 Review & Summary (erste Hälfte)
AtCoderBeginnerContest171 Review & Summary (erste Hälfte)
AtCoderBeginnerContest166 Review & Summary (erste Hälfte)
AtCoderBeginnerContest161 Review & Summary (erste Hälfte)
AtCoderBeginnerContest172 Review & Summary (erste Hälfte)
AtCoderBeginnerContest176 Review & Summary (erste Hälfte)
AtCoderBeginnerContest178 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest161 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest164 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest176 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest168 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest169 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest171 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest174 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest173 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest177 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest180 Review & Zusammenfassung
AtCoderBeginnerContest181 Überprüfung & Zusammenfassung
AtCoderBeginnerContest182 Überprüfung & Zusammenfassung
AtCoderBeginnerContest183 Überprüfung & Zusammenfassung
Django Girls Tutorial Zusammenfassung Erste Hälfte
AtCoder Rückblick auf frühere Fragen (erste Hälfte von 12 / 8,9)