Fiche de triche AtCoder en python (pour moi-même)

Objectif

Si vous ne faites pas de feuille de triche, cela devient plus difficile, donc pour l'organisation.

En C ++, il semble que le code soit assez bien connu, mais python semble avoir un style d'écriture implicite de type sagesse. En regardant les réponses, il existe de nombreuses bibliothèques et structures de données que tout le monde utilise pour acquis. Je fais ces choses tacites en prenant des notes, mais je suis confus, alors je vais les rassembler moi-même. Je voulais un résumé de ces prérequis lors du démarrage d'Atcoder avec python. .. ..

Il y a de nombreuses erreurs, mais essayez plus.

Aide-mémoire préalable

Aide-mémoire pour la programmation de la compétition Python Je cherche toujours ici comment entrer.


Compétition Pro Cheet Sheet (python3) Voir ici pour les fractions et les pouvoirs. Je ne connais pas la signification d'environ quelques bibliothèques, mais c'est très pratique à utiliser.


Bibliothèque standard Python: ordre de maintenance bisect bisect voir ici


Différence entre sort et tri pour trier la liste en Python Voir ici pour le tri


[Quelle est la valeur lambda utilisée dans la fonction triée de python] (https://qiita.com/n10432/items/e0315979286ea9121d57) C'était facile à comprendre pour la fonction lamda.


Python, opération d'ensemble avec le type d'ensemble (jugement de l'ensemble de somme, ensemble de produits, sous-ensemble, etc.) set,len,add,discard(), remove(), pop(), clear()


[Python] Résumé des opérations de découpage Voir ici pour les tranches


[Calculer et obtenir des multiples communs maximum et minimum avec Python] (https://note.nkmk.me/python-gcd-lcm/) Voir ici pour pgcd (engagement maximum) et lcm (multiple commun minimum). Vous pouvez mettre 3 ou 4 numéros.


[Obtenez le quotient de division et le reste en même temps avec Python divmod] (https://note.nkmk.me/python-divmod-quotient-remainder/) Regardez ici pour le quotient


[Traitement en boucle par Python pour instruction (plage, énumération, zip, etc.)] (https://note.nkmk.me/python-for-usage/) Voir ici pour range, enumerate, zip (Expressions inclusives telles que [Expression pour le nom de variable dans un objet itérable] Boucles multiples: itertools.product (), Je ne l'utilise pas moi-même, mais je peux l'utiliser lors de la lecture du code d'autres personnes.)


Comptez le nombre d'occurrences de chaque élément de la liste avec Python Counter C'est difficile pour moi maintenant, mais il est déraisonnablement pratique de rechercher des séquences et d'autres éléments.

Conseils

10^0.5 n**0.5


Compter l.count('a')


Élimine le brouillard set([1,1,2,2,3,3]) ⇨[1,2,3]


si X n'est pas dans p: X n'est pas dans la liste de #p


Conversion de cas str.upper (): Convertit tous les caractères en majuscules str.lower (): Convertit tous les caractères en caractères inférieurs


Absolu: abs () Somme (liste)


Plus grand: max (,) Plus petit: min (,)


count.values()


Ordre inverse: inversé ()


Circulation en plusieurs colonnes avec for: enumerate () Cycle dans plusieurs colonnes avec for: zip ()


les mods sont généralement mod = 10 ** 9 + 7


Puisque le nombre d'essais de 10 ^ 12 est assez strict, il s'agit généralement d'une potasse de branche ou d'un appareil. Puisque 10 ^ 6 est très proche du carré, O (N ^ 2) a tendance à être proche de la limite, donc une certaine ingéniosité est requise.


print ("". Join (lis)): Vous pouvez maintenant rejoindre la liste


print(list(itertools.permutations([1, 2, 3]))) -> [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]


c = collections.Counter(l) ⇨Counter({'a': 4, 'c': 2, 'b': 1}) ⇨ c.keys () est ['a', 'b', 'c'] ⇨ c.values () est [4, 1, 2] ⇨ c.items () est [('a', 4), ('b', 1), ('c', 2)] ⇨ c.most_common () est ('a', 4), ('c', 2), ('b', 1) ⇨ c.most_common () [:: -1] est [('b', 1), ('c', 2), ('a', 4)] En d'autres termes, [:: -1] est disposé à l'opposé. Sens de (Citation: Comptez le nombre d'occurrences de chaque élément de la liste avec Python Counter)


a = lambda x : x*x print(a(4)) #16 (Si vous insérez la fonction anonyme λ dans a et 4 dans x, x ^ 2)


Si vous ne comprenez pas le comportement dans le test de code, vous pouvez facilement déboguer en vérifiant à quoi ressemble la variable avec print (variable).


De plus, la grammaire de base de Python qui est une condition préalable

for _ in range(N): Cela génère 0 ~ N-1 Ajoutez ":" à la fin La ligne suivante de l'instruction for est indentée (4 espaces ou tabulations pour faire de l'espace) Une erreur peut se produire si la tabulation et l'espace sont mélangés dans la ligne suivant l'instruction for. Comme pour c dans l [2: 5]:, vous pouvez couper et remplacer c pour ce montant. Vous pouvez également commencer à partir de 1 en définissant `` for i in range (1: N): ''


if s == 1: = N'est pas un, mais ce n'est pas une condition à moins qu'il ne soit connecté par deux (= seulement = est une affectation) Ajoutez ":" à la fin La ligne suivante de l'instruction if est indentée (4 espaces ou tabulations pour faire de l'espace) Une erreur peut se produire si la tabulation et l'espace sont mélangés dans la ligne suivant l'instruction if.


while n!=1: La ligne suivante de l'instruction while est indentée (4 espaces ou tabulations pour faire de l'espace) tandis que signifie faire "tant que cette expression conditionnelle est satisfaite".


Ce que je compte comprendre personnellement à l'avenir

programmes dfs, bfs, Union Find

[Directives pour améliorer AtCoder, un pro de la compétition enseigné par Red Coder [Édition intermédiaire: Visez Light Blue Coder! ]] (https://qiita.com/e869120/items/eb50fdaece12be418faa#2-3-%E5%88%86%E9%87%8E%E5%88%A5%E5%88%9D%E4%B8%AD%E7%B4%9A%E8%80%85%E3%81%8C%E8%A7%A3%E3%81%8F%E3%81%B9%E3%81%8D%E9%81%8E%E5%8E%BB%E5%95%8F%E7%B2%BE%E9%81%B8-100-%E5%95%8F) Il semble que vous puissiez viser le bleu clair, voire le bleu, avec 100 questions. Les problèmes sont classés par méthode, c'est donc un bon moyen de former une méthode pour laquelle vous n'êtes pas doué. L'article qui résout cet article avec python [[Python] J'ai essayé de résoudre 100 questions passées que les débutants et les intermédiaires devraient résoudre [Partie 4/22]] (https://qiita.com/rudorufu1981/items/71abd5320a636e9146cb)

Recommended Posts

Fiche de triche AtCoder en python (pour moi-même)
python [pour moi]
AtCoder # 36 quotidien avec Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Daily AtCoder # 18 en Python
Daily AtCoder # 53 en Python
Daily AtCoder # 33 en Python
AtCoder # 7 tous les jours avec Python
AtCoder # 24 tous les jours avec Python
Daily AtCoder # 37 en Python
AtCoder # 8 tous les jours avec Python
Daily AtCoder # 42 en Python
AtCoder # 21 quotidien avec Python
Daily AtCoder # 17 avec Python
Daily AtCoder # 38 en Python
Daily AtCoder # 54 en Python
Daily AtCoder # 15 en Python
Daily AtCoder # 47 avec Python
Daily AtCoder # 13 en Python
AtCoder # 45 quotidien avec Python
AtCoder # 30 tous les jours en Python
AtCoder # 40 quotidien avec Python
AtCoder # 5 tous les jours avec Python
Daily AtCoder # 28 en Python
AtCoder # 39 quotidien avec Python
Daily AtCoder # 20 en Python
Fiche technique PySpark [Python]
Daily AtCoder # 19 en Python
Daily AtCoder # 52 en Python
Daily AtCoder # 3 en Python
Daily AtCoder # 14 avec Python
Daily AtCoder # 50 avec Python
Daily AtCoder # 43 en Python
Tous les jours avec Python AtCoder # 22
Daily AtCoder # 49 en Python
AtCoder # 1 tous les jours avec Python
Daily AtCoder # 25 avec Python
Daily AtCoder # 16 en Python
Daily AtCoder # 12 en Python
Daily AtCoder # 48 en Python
Daily AtCoder # 23 en Python
Daily AtCoder # 34 en Python
AtCoder # 51 quotidien avec Python
Daily AtCoder # 31 en Python
Daily AtCoder # 46 en Python
AtCoder # 35 quotidien avec Python
AtCoder # 9 tous les jours avec Python
Daily AtCoder # 44 avec Python
Daily AtCoder # 41 en Python
[Mise à jour] Aide-mémoire de la syntaxe Python pour la boutique Java
Mémo Python (pour moi): Array
Atcoder ABC164 A-C en Python
[Python3] Entrée standard [Cheet sheet]
Mémo Python Tkinter (pour moi)
Atcoder ABC167 A-D en Python
Techniques de tri en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python