AtCoderBeginnerContest154 Mémo de participation (Python, problème A ~ E)

en premier

Je fais de la programmation (langage principal: Python) depuis deux ans, et j'ai récemment lancé Atcoder et maintenant je suis un codeur ash. Comme il s'agit d'une rédaction de mémo, la qualité n'est pas si élevée, mais je voudrais laisser un mémo axé sur les problèmes D et E ainsi que sur l'organisation. Veuillez noter que le code qui apparaît ici est votre propre code et peut ne pas être optimal.

Un problème

Terminé en 2 minutes. Ma réponse

S, T = input().split()
A, B = map(int, input().split())
U = input()

if S == U:
  A -= 1
else:
  B -=1
print(A, B)

Problème B

Terminé en 1 minute. Ma réponse

S = input()
print('x' * len(S))

Problème C

Terminé en 2 minutes. Il est possible de déterminer s'il y a duplication ou non dans l'élément en comparant len (list) et len (set).

Ma réponse

N = int(input())
A = list(map(int, input().split()))

if len(A) == len(set(A)):
  print("YES")
else:
  print("NO")

Problème D

Si vous voulez trouver la somme d'une certaine section, vous pouvez utiliser la somme cumulée pour la trouver à une vitesse explosive. Concernant la somme cumulée Cet article-> Soyez capable d'écrire des sommes cumulatives sans réfléchir! Il est expliqué en détail dans.

En tant que caractéristique de la somme cumulée

Prendre le temps O (N) O (N) pour le prétraitement La capacité de stockage peut être O (N) O (N) Avec le prétraitement, vous pouvez répondre à chaque requête avec O (1) O (1) à une vitesse explosive.

Ma réponse

N, K = list(map(int, input().split()))
A = list(map(int, input().split()))
s = [0] * 1000000
for i in range(N):
    s[i+1] = s[i] + A[i]

max_s = 0
for i in range(N):
    if max_s < s[i+K] - s[i]:
        max_s = s[i+K] - s[i]
print((max_s+K) / 2)

Pour une telle implémentation, utilisez Sliding Window au lieu de Cumulative Sum.

N, K = map(int, input().split())
A = list(map(int, input().split()))

expect = [(e + 1) / 2 for e in A]
window = sum(expect[0:K])
max_s = window
for i in range(N - K):
    window -= expect[i]
    window += expect[i + K]
    if window > max_s:
        max_s = window
print(max_s)

Problème E

Notez ci-dessous ce que j'ai vérifié car je n'ai pas pu le résoudre.

Si vous utilisez une technique appelée chiffre DP "Trouvez le nombre d'entiers entre 0 et N qui satisfont certaines conditions." "Trouvez la valeur maximale d'un entier entre 0 et N qui satisfait une certaine condition." Peut résoudre des problèmes tels que. Article de référence-> Explication qui peut atteindre la partie qui démange du chiffre DP Dans les mots de cet article

La variable à compter est le i-ème chiffre à partir du haut, l'indicateur qui détermine s'il est inférieur à N est plus petit et le nombre de chiffres non nuls est j. Cela devrait ressembler à dp [i] [plus petit] [j]. Écriture ci-dessous.

Recommended Posts

AtCoderBeginnerContest154 Mémo de participation (Python, problème A ~ E)
AtCoder ABC 177 Python (A ~ E)
AtCoder ABC 178 Python (A ~ E)
ABC166 en Python A ~ C problème
[Python] Mémo de création de l'outil de grattage
Modèle AtCoder ABC 179 Python (A ~ E)
Mémo Python
mémo python
Mémo Python
mémo python
Mémo Python
Mémo Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Mémo Atcoder débutant Python @ Keyence 2020, problème ABC
[AtCoder] Résoudre ABC1 ~ 100 Un problème avec Python
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
[Python] Mémo sur le dictionnaire
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
Calculons en fait le problème statistique avec Python
mémo débutant python (9.2-10)
ARC # 016 Mémo de participation
python Remarque: Traitez les listes collectivement comme un ensemble
mémo débutant python (9.1)
Un mémo que j'ai écrit un tri de fusion en Python
★ Mémo ★ Python Iroha
Un mémo lors de la création d'un environnement python avec miniconda
[Python] Mémo EDA
Mémo opérateur Python 3
[Mon mémo] python
Mémo de métaclasse Python3
[Python] Mémo de fond de carte
Notes sur la création d'un environnement python par les débutants
Défiez AtCoder (ABC) 164 avec Python! Un problème ~ C
Mémo débutant Python (2)
[Python] Mémo Numpy
Mémo connecté à HiveServer2 d'EMR avec python
[Python] Un mémo pour écrire du CSV verticalement avec Pandas
Un mémo que j'ai touché au magasin de données avec python
Un mémo sur la création d'une application Django (Python) avec Docker
Résoudre Atcoder ABC176 (A, B, C, E) en Python
expression canonique python ou mémo d'objet correspondant
Mémo de construction d'environnement d'apprentissage automatique par Python
Classe Python (mémo d'apprentissage Python ⑦)
Algorithme A * (édition Python)
installation de python openCV (mémo)
[Python] Prenez une capture d'écran
Mémo de visualisation par Python
expression lambda de python ...
[Python] Mémo sur les fonctions
Démoniser un processus Python
mémo d'expression régulière python
Recherche de bisection (python2.7) mémo
[Mon mémo] python -v / python -V
Mémo de type Liste / Dictionnaire Python3
[Mémo] Tri de liste Python3
Astuces Python (mon mémo)
[Python] Mémo sur les erreurs