【新入生ブログリレー】うぇいるです!(自己紹介兼色変記事)
自己紹介
数理科学科1年のうぇいるです。僕は中学2年の時に初めてプログラミングを始めたのですが、その時に”While”を”うぇいる”と読んだのが名前の由来です。うぇいるって読みたくなるよね
電算に入った理由
数理科学科はプログラミングをする学科ではありません(すこしはやるけど)。中学2年からやっているプログラミングを大学でやめてしまってはもったいないなと思い、プログラミングを継続できる電算に入部しました。
電算でやりたいこと
大学に入学してから始めた競技プログラミング(AtCoder)をやりたいと思っています。水色くらいまで行けるといいなぁ…
また最近はDiscordbotをいじったりしています。Pythonで書けるので楽しいです。
過去に触ったことがあるプログラミング言語
- 中2~中3 VBA
初めて触った言語はVBAでした。父親に勧められて家にあった古いPCで独学で勉強をしました。 - 高1~高3 C言語
VBAとは書き方が違う部分がたくさんあり、結局ポインタでつまづいてやめてしまいました…… - 高2~高3 HTML/JS
高校の課題でMonacaを使ったスマホアプリをHTML/JSで作りました。僕は関数電卓アプリを作りましたが誤差に対する知識が浅く、結局精度がよくないものしか作れませんでした。
しかしこれを通してシンプソン則などを知り、アルゴリズムに興味を持ち始めました。 - 大1~ Python
大学入学してからAtCoderをやるためにPythonの勉強をはじめました。C++かPythonという話は聞いていたのですが、C言語のポインタで躓いたこともありPythonでAtCoderに参加しています。
AtCoder
先日のABC208で入緑しました。
うれしいのでここからは色変記事みたいなものを書こうと思います。ほかに書くこともないので…
ABC208は3完でした。11分くらいで3完してパフォーマンスは1093でした。結局3完速解きできれば緑にはなれるということですね。
緑になるまでのAccepted数は196でした。多いのか少ないのかはわかりませんが、始めてからの日数で割ると1日2問以上はACしていることになりますね。僕の場合は土日にまとめて5,6問くらい解くようにしていました。
こんな感じです。灰埋めはめんどくさくなってしていません。AtCoder ProblemsのRecommendationをひたすら解きました。解説を読んで理解するのを繰り返した感じですね。
学んだアルゴリズムですが、正直大したことはしていません。ちゃんとやったのは幅優先探索/深さ優先探索くらいです。これは僕の体感ですが、二分探索は頻出な気がします。Pythonだとbisectが用意されていてただ書くだけでよいのですが、C++でやっているのであれば二分探索はやっておくとよいかもしれませんね。
面白かった問題
ABC005 D問題 おいしいたこ焼きの焼き方
二次元累積和を使う問題です。二次元累積和を使うことで焼いたときのおいしさの和がO(1)で出せるため時間内で処理が完了します。ABC005はすべてたこやきにちなんだ問題なので、A問題から順に解いてみると面白いです。
ABC197 D問題 Opposite
回転行列を使って回転させる感じの問題です。回転行列を知っていれば悩むことなく書けると思います。問題制約よりNが偶数であることから、中心が簡単に出せますね。
ABC168 D問題 .. (Double Dots)
幅優先探索の典型問題です。幅優先探索を学んだら解いてみるとよいと思います。Noの場合の時の処理を忘れないように!
まとめ
長々とAtCoderの話をしてしまいました、興味のない方はごめんなさい……
プログラミングをあまりしない学科ですが、電算に所属しているということをモチベーションにプログラミングを学び続けたいと思っています。よろしくお願いします。
緑おめでとう!!!AtCoderは一回もやったこと無いんだけどみんなやってるから僕もやってみようかな…
あと僕もよくpythonを使うんだけど,cとc++はpythonと違った面白さがあるから余裕があればまた挑戦してみて!