Il est devenu bleu après 9 mois d'histoire d'Atcoder (python)

C'est comme une continuation de Dernière fois.

Il est devenu bleu sur ABC168.

image.png

Au fait, j'ai également progressé au 2e PAST en avril. image.png

La couleur a changé, je voudrais donc revenir sur les cinq derniers mois.

Changements d'approche

Depuis janvier, ma motivation est plus faible qu'avant et le rythme de résolution des problèmes s'est clairement ralenti. image.png Voici la carte de chaleur AC unique des problèmes d'Atcoder. La quantité de nouveau climatiseur a visiblement diminué depuis le changement d'année. Depuis le mois de mars environ, vous pouvez voir que je n'ai pratiquement rien touché d'autre que le concours.

Cependant, si vous superposez cette Heatmap avec le graphique de performance, vous pouvez voir que ** plutôt, elle a été stable à une valeur élevée depuis le moment où la dévotion a commencé. image.png

En passant, je n'ai pas participé à un autre concours tel que CodeForces, et je n'ai pas lu de livres techniques tels que des livres sur les fourmis. Je ne fais vraiment rien d'autre que le concours. Alors pourquoi les performances augmentent-elles? Avec le recul, je suis venu avec quelques facteurs possibles à cette époque.

La bibliothèque est presque terminée

Je l'ai vérifié, mais la seule bibliothèque qui a augmenté par rapport à l'article précédent était Seguki. Article expliquant la couleur de chokudai

Puisque les connaissances requises pour la programmation compétitive sont presque complètes en bleu clair et bleu, la puissance appliquée sera différente à partir de ce point.

Il y a une description, mais je pense que c'était correct. Puisque le temps d'apprendre les algorithmes de base est presque terminé, il est inévitable que ** "résoudre beaucoup de problèmes et apprendre l'utilisation de base et comment l'utiliser" ne soit plus nécessaire **. Par conséquent, on peut dire que le besoin de soi-disant «dévouement» pour résoudre un grand nombre de problèmes a diminué.

En fait, en ce qui concerne les différences d'eau et bleues, il n'y a presque pas de problèmes tels que le collage et la fin, donc si vous écrivez DFS et DP à partir de 1 en fonction du problème plutôt que de réparer ce que vous avez copié de la bibliothèque C'est facile (c'est devenu une capacité que l'on peut dire). En ce sens, on peut dire que le temps de préparer la bibliothèque et de viser un gain de temps est révolu.

Assurez-vous de regarder en arrière après le concours

Au lieu de résoudre des problèmes en dehors du concours, nous avons organisé une réunion de réflexion ferme juste après le concours de mars à avril **. En lisant le commentaire qui apparaît immédiatement après la fin et en écoutant le commentaire diffusé sur YouTube Live, j'ai essayé de réfléchir fermement au problème A. Même pour les problèmes A et B, l'écriture est souvent compliquée en donnant la priorité à la vitesse au moment du concours, donc si vous réfléchissez bien après la fin du concours et réfléchissez au type de solution la plus intelligente, ajoutez une habitude de penser au code. Cela conduit également à une amélioration de la qualité et éventuellement de la vitesse. De plus, dans le commentaire diffusé, d'autres personnes font des commentaires tels que «Je l'ai fait de cette façon» ou «Je suis resté coincé ici», et M. Sunuke lit les commentaires et répond aux questions et aux suppléments le cas échéant. Approfondissez votre compréhension des problèmes, y compris ceux qui ont été résolus. ** La participation en temps réel à la diffusion de commentaires contribue vraiment à améliorer les performances, alors regardez tous les ABC ** (abusif)

En principe, il était interdit de résoudre le problème derrière

C'est la raison pour laquelle les performances sont devenues stables. Tout d'abord, il existe des cas où les performances diminuent considérablement. "D est assez ennuyeux, alors j'ai d'abord pensé à E, mais à la fin je ne connaissais même pas E et j'ai passé D à la dernière minute." Je pense qu'il y a pas mal de cas comme celui-ci. Pour éviter une telle situation, même si vous pensez que "c'est difficile", en résolvant régulièrement le problème précédent sans détourner le regard, il est devenu possible d'éviter une diminution significative des performances. Si vous essayez de commencer avec le problème derrière vous, vous pouvez obtenir des performances un peu plus élevées si vous êtes chanceux, mais l'inconvénient d'échouer et de tomber est plus grand que cela, et vous perdrez à long terme. Je pense que ce sera **. Vous pouvez réduire les fluctuations de performances en vous assurant de passer par le problème précédent avant de travailler sur le suivant, sans détour.

Cependant, à titre exceptionnel, il y a des moments où «E (F que E) était plus facile que D». Par conséquent, quand je suis un peu coincé, je vérifie une fois le classement pour voir s'il y a un renversement de difficulté. Dans les cas où le nombre de bons répondants est proche (inversé), on peut comparer les problèmes une fois et partir de celui qui semble être en mesure de les résoudre. Cependant, c'est une exception.

Sentiments divers

De là, j'écrirai diverses choses que j'ai ressenties rétrospectivement.

Concernant difficile dans Atcoder Problems

Une croyance commune est que vous devez être capable de résoudre le différentiel bleu pour obtenir du bleu, mais ce n'est pas très correct. Parce que, le diff des problèmes AtCoder est généralement ** «Performance lorsque le problème est terminé à la dernière minute de la limite de temps» **. Par conséquent, par exemple, si vous résolvez un problème équivalent à diff1800 (bleu moyen) dans un concours réel, la performance sera d'environ 2000. Vous n'avez donc pas à résoudre le différentiel bleu pour obtenir du bleu.

Une autre croyance est que si vous voulez être bleu, vous devez être capable de résoudre tous les différends bleu clair. Il y a les humains, leurs forces et leurs faiblesses. Puisque le diff est juste moyenné, il est naturel que le diff jaune puisse être résolu ou que le diff d'eau ne puisse pas être résolu en fonction du problème. La bonne compréhension est que lorsque le diff augmente, la probabilité de le résoudre diminue de manière sigmoïde **. Il est assez difficile mentalement de s'attaquer au problème de savoir s'il peut être résolu ou non, donc même si vous ne pouvez pas le résoudre, c'est assez déprimant mentalement. Il est important d'avoir une compréhension correcte des différences et de ne pas être trop sérieux au sujet du fait d'être insoluble.

Quant à ma propre expérience, si tu veux être bleu ** ・ 80% du bleu clair peut être résolu ・ La moitié de la première moitié du bleu peut être résolue ・ Fondamentalement insoluble dans la seconde moitié du bleu (certains sont rarement solubles) ** Je pense que c'est un guide. (En fait, il y a pas mal de problèmes d'eau qui ne peuvent toujours pas être résolus)

Utilisation de Twitter

Si vous suivez des personnes qui participent énergiquement à ABC et qui ont une capacité jaune, le résumé de la solution s'affichera après la fin, il est donc bon de s'y référer. De plus, dans mon cas, beaucoup de mes connaissances à l'université sont toujours engagées dans des pros de la compétition, et l'existence de telles personnes a également aidé à maintenir ma motivation. Puisque nous sommes aussi des êtres humains, il est très important qu'il y ait ** «des gens qui travaillent ensemble» **. Il n'y a rien de mal à être unilatéral, il est donc plus facile de garder votre motivation si vous regardez les pros de la compétition (la bonne chose à propos de Twitter est que tout le monde peut suivre unilatéralement).

Accélérez python et pypy

La mise à jour du langage d'atcoder a été mise en œuvre en avril, et python et pypy sont devenus considérablement plus rapides. Il existe également une option appelée Cython. La récidive multiple, qui était un faible champ de pypy, a atteint un niveau qui n'est pas un problème sérieux, on peut donc dire que ** les pythons sont maintenant capables de se battre à une bande de taux suffisamment élevée **.

Commentaire AC

** Commentaire AC n'est pas mal du tout. ** ** La psychologie humaine a tendance à accorder de l'importance à la «résolution par elle-même», mais «la résolution par elle-même» n'est pas du tout importante, sauf dans les concours. ** Le plus important est de "pouvoir résoudre ce que vous ne pouvez pas résoudre" **, donc si vous ne pouvez rien faire après avoir réfléchi pendant 15 minutes, vous devriez regarder l'explication immédiatement, et après avoir réfléchi pendant 30 minutes, vous ne pouvez pas penser à une amélioration de la quantité de calcul. Ensuite, vous devriez voir le commentaire, et si vous pensez pendant 40 minutes et que le WA ne disparaît pas, vous devriez voir le cas de test. Ouais, si c'est amusant de gémir, c'est bien, mais du point de vue de l'amélioration de vos capacités, il est préférable de lire le commentaire à ce moment-là et de passer un peu de temps sur "pourquoi n'avez-vous pas pu le résoudre?"

Objectifs futurs

Quand j'ai commencé AtCoder, mon grand objectif était d'être bleu, donc je l'ai atteint pour le moment. Il faudra plus d'efforts pour augmenter le taux à partir d'ici (ce sera plus difficile avec le concours AtCoder seul), alors je me demande si je peux garder ma motivation à ce point. Eh bien, je ne sais rien à moins d'essayer. Bien sûr, c'est amusant de participer au concours, mais si vous le faites, vous êtes le genre de personne qui veut travailler dur pour améliorer le taux ... Pour le moment, j'aimerais continuer à travailler à l'augmentation du taux.

Recommended Posts

Il est devenu bleu après 9 mois d'histoire d'Atcoder (python)
Une histoire qui est devenue bleu clair en 4 mois après avoir démarré AtCoder avec python
Bleu clair avec AtCoder @Python
[Python] Résolvez 10 problèmes d'élite passés d'Atcoder
Jusqu'à ce qu'il devienne bleu clair avec AtCoder
atCoder 173 Python
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
[Python] Rotation à droite de 90 degrés, rotation à gauche de 90 degrés, rotation de la matrice à 180 degrés [AtCoder]
[Exemple de réponse (python3)] ABS (AtCoder Beginners Selection) de atcoder
Apprentissage de l'histoire pour participer au développement d'applications en équipe avec Python ~ Après avoir terminé "Introduction à Python 3" de paiza learning ~