中学3年生がコロナで暇なので本気で茶コーダーを目指す【競プロ】~3日目~


シリーズ

中学3年生がコロナで暇なので本気で茶コーダーを目指す
第一話(1/16)
第二話(1/17)

宣伝とお願い

数学に関して色々自分だけではどうしてもわからない部分が出てきていて、、
僕が数学や技術知識を皆様にご教授いただきたいです

Qiitaのコメント欄だけではどうしても限界が出てくる
ということで、Atcorder専用のdiscordサーバーを作成しました。
こちらの招待リンクから参加していただき、
一言 というスレッドに一言いただけたら助かります。

皆さんの想像を超えるくらい数学ができないので、初歩的な質問をすることになりますが、温かい目で見守っていただけたら助かります。

お礼

初日の記事がトレンド入りしたみたいで、自分のモチベがかなり上がりました。
本当にありがとうございます。

また、アドバイスもいただき
最速で茶コーダーを目指すならPythonがいいみたいです。

C++が強い点は早いところで、最初のうちは早さが問題になることは少ないみたいなので、
なんでC++で始めたのか少し余談を入れようと思います

裏話(余談)

じつは自分、学校の担任から情報科学の達人というプログラムに誘われまして、、、募集要項を見たところ情報オリンピックによる推薦(情報オリンピック本選出場で)が受けられるみたいなのですが、本戦では、C言語しか扱えないみたいで
予選突破するからには本戦も勝ち抜きたいなと思ったわけでC++を始めました。

アドバイスめちゃくちゃ嬉しかったのでこれからも、色々とおすすめの本や、サイトなど教えてくれたら本当に助かります!

1/18にやったこと

今日はAOJをお休みして数Ⅰのお勉強をしました。
それについて書いていこうと思います。
最初から読んでくれた方は知っていると思いますが、僕の数Ⅰの成績は10段階評価で1です、、、
現在学校では三角関数をやっていますが、僕は二次関数から取り組みました。
(これを機に数学の成績も一緒に上げたいです(願望))

2次関数のグラフの式の求め方を理解するのに二時間(ガチ)

学校の授業中は基本的に支給されたiPadからGitHubをいじったり、サーバーをいじったりしているので、授業を聞いていませんが、この辺の内容は昨年の9月くらいにやってた気がします。

関数って本当に使うの?

Atcorder Beginner Selection のC問題に内積っていういかにも数学っぽい課題があり、関数はやらなきゃな。。。って思ったわけです。

本当に使うのかはわからないですが、これもやって損はない理論でやりました。
※茶コーダーを目指すうえで必要な数学知識に関しても教えていただけると助かります。

二次関数を理解したうえで少しPythonをいじってみる。

二次関数を理解したところでプログラムが実装できなかったら勉強した意味がないと思います。

かといって、C++を完璧に理解できたわけでもなく、、、

a,,,numpyあるやん..

C++ではないですが、numpyとmathplotlibを使ってグラフの生産をして、少しプログラミングに近づけました。

import numpy as nmp
import matplotlib.pyplot as pl
x = nmp.linspace(-1, 1, 100)
pl.figure(0)
pl.plot(x, ((3*x)**2)+6*x+2)
pl.show()

なんとなくイメージは掴めました。

これをC++でやらなきゃ意味ないんですけど、今の自分には満足です。

今日の感想

自分が数学に手を付ける日が来るとは思ってもいませんでした。
Pythonでグラフの生産はできたのですが、C++ではそもそもできるのでしょうか?

因みに今日(1/19に執筆)はAOJをひたすらやるつもりです。

discord,Qiitaでのアドバイスよろしくお願いいたします。