[PYTHON] AtCoderBeginnerContest177 Review & Résumé (premier semestre)

AtCoder ABC177 Ceci est un résumé des problèmes du concours AtCoder Beginner Contest 177, qui s'est déroulé le samedi 29/08/2020, dans l'ordre du problème A, en tenant compte de la considération. La première moitié traite des problèmes jusqu'à ABC. Le problème est cité, mais veuillez consulter la page du concours pour plus de détails. Cliquez ici pour la page du concours Commentaire officiel PDF

Problème A Ne soyez pas en retard

Énoncé du problème Takahashi rencontre Aoki. Le lieu de rendez-vous est à $ D $ mètres de la maison de Takahashi, et l'heure de la réunion est $ T $ minutes plus tard. Takahashi quitte la maison maintenant et se rendra directement au lieu de rencontre à $ S $ mètres par minute. Serez-vous à temps pour la réunion?

abc177a.py


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

Problème B Sous-chaîne

Énoncé du problème $ 2 $ Deux chaînes $ S, T $ sont données. Réécrire certains caractères dans $ S $ pour que $ T $ soit une sous-chaîne de $ S $. Au moins combien de caractères dois-je réécrire? Cependant, une sous-chaîne est une sous-chaîne continue. Par exemple, «xxx» est une sous-chaîne de «yxxxy», mais pas une sous-chaîne de «xxyxx».

Puisque $ S et T $ sont supérieurs à 1 $ et inférieurs à 1000 $, toutes les possibilités peuvent être calculées dans le temps. Par exemple, en considérant les 7 caractères «abcdefg» et les 3 caractères «ef», combien de caractères doivent être réécrits pour chacun des caractères «abc», «bcd», «cde», «def» et «efg ». Est calculé, et le plus petit est la réponse.

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)

Problème C sous-chaîne

Énoncé du problème $ N $ entiers $ A_1,…, A_N $ sont donnés. $ 1 \ leq i <j \ leq Trouvez la somme de $ A_i × A_j $ pour toutes les paires $ (i, j) $ qui satisfont N $ avec $ mod (10 ^ 9 + 7) $.

La somme à calculer est $ A_1 × (A_2 + ... + A_N) + A_2 × (A_3 + ... + A_N) + ... + A_ {N-1} × (A_N) $, donc tous sont calculés individuellement. La quantité de calcul peut être supprimée plutôt que de faire.

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)

C'est la fin du premier semestre. Récemment, le commentaire officiel a été décrit très soigneusement, donc j'espère que vous pourrez vous y référer pour la solution détaillée. Merci d'avoir lu jusqu'à la fin du premier semestre.

La seconde moitié expliquera le problème DE. Suite dans la seconde moitié.

Recommended Posts

AtCoderBeginnerContest175 Review & Summary (premier semestre)
AtCoderBeginnerContest164 Review & Summary (premier semestre)
AtCoderBeginnerContest169 Review & Summary (premier semestre)
AtCoderBeginnerContest174 Review & Summary (premier semestre)
AtCoderBeginnerContest173 Review & Summary (First Half)
AtCoderBeginnerContest165 Review & Summary (premier semestre)
AtCoderBeginnerContest170 Review & Summary (premier semestre)
AtCoderBeginnerContest167 Review & Summary (premier semestre)
AtCoderBeginnerContest177 Review & Résumé (premier semestre)
AtCoderBeginnerContest168 Review & Summary (premier semestre)
AtCoderBeginnerContest178 Review & Summary (premier semestre)
AtCoderBeginnerContest171 Review & Summary (premier semestre)
AtCoderBeginnerContest166 Review & Summary (premier semestre)
AtCoderBeginnerContest161 Review & Summary (premier semestre)
AtCoderBeginnerContest172 Review & Summary (premier semestre)
AtCoderBeginnerContest176 Review & Summary (premier semestre)
AtCoderBeginnerContest178 Review & Summary (second semestre)
AtCoderBeginnerContest161 Review & Summary (second semestre)
AtCoderBeginnerContest164 Review & Summary (second semestre)
AtCoderBeginnerContest176 Review & Summary (second semestre)
AtCoderBeginnerContest168 Review & Summary (second semestre)
AtCoderBeginnerContest169 Review & Summary (second semestre)
AtCoderBeginnerContest171 Review & Summary (second semestre)
AtCoderBeginnerContest174 Review & Summary (second semestre)
AtCoderBeginnerContest173 Review & Summary (second semestre)
AtCoderBeginnerContest177 Review & Summary (second semestre)
AtCoderBeginnerContest180 Examen et résumé
AtCoderBeginnerContest181 Examen et résumé
AtCoderBeginnerContest182 Examen et résumé
AtCoderBeginnerContest183 Review & Résumé
Résumé du didacticiel Django Girls Première moitié
AtCoder Revue des questions précédentes (première moitié de 12 / 8,9)