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.
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)
Terminé en 1 minute. Ma réponse
S = input()
print('x' * len(S))
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")
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)
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