Débutant ABC154 (Python)

Cliquez ici pour la page du concours

https://atcoder.jp/contests/abc154 A

s, t = input().split()
a, b = map(int, input().split())
u = input()
if u == s: a -= 1
else: b -= 1
print(a, b)

Branche en comparant uniquement s avec l'instruction if.
Soumission https://atcoder.jp/contests/abc154/submissions/9973325 B

s = input()
ans = 'x' * len(s)
print(ans)

(Longueur de la chaîne d'entrée) * 'x' est sorti. Je pourrais l'écrire en une seule ligne. print (len (entrée ()) * 'x')
Soumission https://atcoder.jp/contests/abc154/submissions/9975951 C

def main():
    n = int(input())
    a = list(map(int, input().split()))
    seta = set(a)
    ans = 'YES' if len(a) == len(seta) else 'NO'
    print(ans)    
main()

Vous n'avez qu'à vérifier s'il y a des éléments en double, vous pouvez donc combiner la liste avec set () pour créer un élément en double. Ce n'est pas grave si vous comparez le nombre de ces éléments et vérifiez s'ils sont égaux.
Soumission https://atcoder.jp/contests/abc154/submissions/9980825 D

def main():
    n, k = map(int, input().split())
    p = list(map(int, input().split()))
    ex = [0 for _ in range(n)]
    for i in range(n):
        ex[i] = (p[i]+1)/2
    
    sumex = sum(ex[:k])
    tmp = sum(ex[:k])
    for i in range(n-k):
        tmp = tmp + (ex[i+k] - ex[i])
        sumex = max(sumex, tmp)
    print(sumex)
    
main()

Si vous calculez la somme des valeurs attendues de j = i à i + k-1 dans la gamme de i = 1 ~ n-1, dans le pire des cas, il faudra N × K = 10 à la 10e puissance, donc c'est inutile (j'étais moi-même inutile) Soumission). Par conséquent, préparez la somme des 1ère à k valeurs attendues comme valeur initiale dans tmp, et la i + 1ème valeur attendue est(ème valeur attendue) - (ème valeur attendue) + (i En réglant + k + 1ère valeur attendue), vous pouvez éviter la peine de calculer (une image à noter?). Et mis à jour en comparant avec la valeur maximale «sumex» à ce moment-là.
(Valeur attendue de la somme de p_i) = (somme des valeurs attendues de p_i), le calcul des valeurs attendues peut donc être résumé à la fin.
Soumission (après la fin du concours) https://atcoder.jp/contests/abc154/submissions/10020043

E et F

Je voudrais l'ajouter si je peux AC.

2020/2/10 postscript

Ajout des commentaires de @ c-yan. En ce qui concerne la description du problème D, la partie suivante semble fonctionner plus rapidement après correction. Avant correction

ex = [0 for _ in range(n)]

modifié

ex = [0] * n

De plus, dans ce cas, vous pouvez écrire sur une ligne en incluant la partie en dessous.


ex = [(p[i]+1)/2 for i in range(n)]

Il y avait un article utile ici en tant qu'article connexe. 8 petites différences de vitesse de traitement que Python devrait connaître

Recommended Posts

Débutant ABC154 (Python)
Débutant ABC156 (Python)
Débutant ABC155 (Python)
Débutant ABC157 (Python)
mémo débutant python (9.2-10)
AtCoder ABC 174 Python
mémo débutant python (9.1)
Notes de débutant Python
[Débutant] Tableau Python
[Débutant] Fonctions Python
PyQ ~ Python Débutant ~
Mémo débutant Python (2)
AtCoder ABC 175 Python
Python débutant Zundokokiyoshi
Mémo Atcoder débutant Python @ Keyence 2020, problème ABC
Résolvez ABC169 avec Python
ABC147 C --HonestOrUnkind2 [Python]
AtCoder ABC 177 Python (A ~ E)
ABC168
Résolvez AtCoder ABC166 avec python
ABC164
python super débutant essaie de gratter
AtCoder ABC 178 Python (A ~ E)
Python
Atcoder ABC164 A-C en Python
Résoudre ABC176 E en Python
Mémorandum ABC [ABC163 C --managementr] (Python)
Un débutant en Python lance Discord Bot
ABC174
AtCoder ABC 176 Python (A ~ E)
Atcoder ABC167 A-D en Python
Résoudre ABC175 D en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python
ABC175
ABC170
AtCoder ABC 182 Python (A ~ D)
Web scraping débutant avec python
[Python débutant] Mettre à jour pip lui-même
Concours Atcoder Débutant 152 Kiroku (python)
ABC182
ABC153
Atcoder ABC169 A-E en Python
AtCoder ABC177 A-D avec python
Mémorandum ABC [ABC159 C - Volume maximum] (Python)
Résoudre ABC163 A ~ C avec Python
Explication ABC127 A, B, C (python)
Résoudre ABC166 A ~ D avec Python
ABC166 en Python A ~ C problème
Résoudre Atcoder ABC169 A-D avec Python
Jouons avec Excel avec Python [Débutant]
[Python débutant] Divisez une liste (5 lignes).
Résoudre ABC168 A ~ C avec Python
Mémorandum ABC [ABC161 C --Replacing Integer] (Python)
Résoudre ABC036 A ~ C avec Python