Ruteのプログラミング日記

競技プログラミング(AtCoder)の問題の解説や、過去問を解いた感想、また解けない過去問について共有したいと思ってます。

C++を勉強し始めた話。

注意)

本記事には私の偏見なども含まれている可能性があります。ご了承下さい。

 

私はメインのプログラミング言語としてPython3を利用してきました。

2019年4月から11ヶ月以上、同じ言語を利用してAtCoderの問題を解いています。

ですが、Python3にはいくつかのメリット・デメリットがあります。

・メリット

①文法が初めての人にも簡単!"print"だったり"list"だったり

②使用している人が多いから質問などが可能(C++には劣るが)

 

・デメリット

実行時間が遅い(C++だと1msのところ、Python3だと17ms)

→実際問題、現在のAtCoderのシステムでは、TLEの基準が2000ms以上であり、実行時間も2100ms程度で打ち切られるようになっているので、実行時間が長いアルゴリズムを書かない前提での話

②多くの技術書・参考書などの解説はC++が中心

蟻本・螺旋本など いろいろな本を読んでいますが どれも解説がC++で書かれており、Pythonで解説を書いている本は見かけませんでした。そのためPython競技プログラミングを攻略するのは難しいという結論に至りました。

 

そのため、競技プログラミングを続けていくにあたって、C++を勉強する必要があると確信し、先日より APG4bというC++を専門的に扱うコンテストページがあったのでそれで勉強することにしました。問題自身はいろいろと簡単で、1日1問~3問のペースで解いています。

https://atcoder.jp/contests/APG4b

 

Twitterでも上げていたのですが、今度ABCのA問題150問ACRTAに挑戦します。(やった人が果たしているかどうか...)

事実、タイピング速度ゲーな訳ですが、私は寿司打で6key/sくらいしか出せないので、競技プログラマーの中ではかなりタイピングは遅い方なのかもしれません。

目標としては、1問につき1分半 つまり225分程度を目指そうと思っています。

 

私はこれを 「えぇこーだーちゃれんじ」と名付けることにします。

理由としては、競技プログラミングを始めた方に、A問題を多く解いてもらい、競技プログラミングに親しんでもらいたいからです。

(それこそ、 えぇこーだー(ええコーダー)になれるという訳で。)

 

時期は未定ですが、平日の昼頃に挑戦を予定していますので、情報が入り次第

@rute_not_routeでお知らせ致します。Youtubeアーカイブも残すので、A問題を解く人の参考になればなと思います。

 

追記)

新型コロナウイルスの影響により、以下のイベントが休止になりました。悲しいです。

立命館大学プログラミングコンテスト(RUPC2020)

技育祭

RUPCについてはオンラインでの開催もないらしいですが、技育祭は14日(土)にオンラインでなにか行われるということなので、楽しみです!

 

Rute 2020/03/04