みなさんは何のためにプログラミングをしていますか? 仕事のため、何かをつくるため。 それも良いけれど、「強くなる」ためにプログラミングしてみませんか。 様々なジャンルのプログラミングコンテストとまだ見ぬライバルたちがあなたを待っています。 今回はアルゴリズム/AI/機械学習/セキュリティ等の様々なジャンルのコンテストとその始め方について紹介したいと思います。 ※これはPyConJPでの発表を文字におこしたものです。が、Pythonの話は殆どないです。 プログラミングコンテストとは? すべてのコンテストに共通する、「コンテストに参加する利点」 1. 自分と同じ問題を解いた、他の人の解法を知ることができる 2. 同じコンテストに出ていた、たくさんのライバルと知り合える アルゴリズムのコンテスト 問題1 問題2 TopCoder Single Round Match CodeForces AtC
※パソコン甲子園で使用した問題及びその解説の著作権は、全国高等学校パソコンコンクール実行委員会に帰属します。 ※私的使用のための複製など著作権法により利用が認められる場合を除き、本サイトから入手できる全ての問題・解説について、上記実行委員会の許諾を得ない使用はできません。なお、学校における部活動での教材としての使用には、許諾申請は不要です。 全国高等学校パソコンコンクール実行委員会
本記事を終えた次は? AtCoder Beginners Selection を終えたら、AtCoder 上の過去問が AtCoder Problems に集大成されていますので、片っ端から埋めるような気持ちで精進していきましょう。本記事の続編として AtCoder 版!蟻本 (初級編) AtCoder 版!蟻本 (中級編) AtCoder 版!蟻本 (上級編) AtCoder 版!蟻本 (発展的トピック編) も執筆しましたので参考にしていただけたらと思います。また、アルゴリズムとデータ構造に関するトピックを集大成した書籍として、 問題解決力を鍛える!アルゴリズムとデータ構造 (通称、けんちょん本) を上梓しました。ぜひ読んでみてください。 1. AtCoder とは AtCoder は以下のコンテストサイトを運営しています。今後常に訪れることになるサイトです: AtCoder コンテスト
先月末に、めでたく AtCoder 黄色になりました。 1976 -> 2025 (+49) 念願の!!!! 黄色!!!! です✌️✌️✌️✌️✌️✌️✌️ pic.twitter.com/6S5whNlq8G— tsutaj (@_TTJR_) 2018年9月29日 きのう、ふと「黄色になりました記事書いてないなぁ」と思って雑に呟いたら、書いてくれという圧力声援を感じたので、記していこうかなと思います。記事の特性上自分語りしかありませんが、それでも良い方はお読みいただければと思います。 自分の能力について やったこと 灰から茶へ 茶から緑へ 緑から水へ 水から青へ 青から黄へ 最後に 自分の能力について 世の中には、プログラミングを始める前から数学が大得意で、 AtCoder を初めて半年くらいで黄色になるような「競技プログラミングをするために生まれてきた天才」*1も中にはいるのですが、
はじめに drken さんの素晴らしい記事で紹介されていた AtCoder に登録したら解くべき精選 10 問 を、Rust で解いてみました。 扱う問題一覧はこちらです。 自分が Rust で競技プログラミングを始めたときはかなり躓いてドキュメントや stackoverflow を何度も調べたので、そのような負担を少しでも軽減できればと思い書きました。 対象 この記事は以下の入門書を軽く読んだ方、または他の言語経験があり Rust の雰囲気だけでも知りたい人が対象です。 The Rust Programming Language 入出力 どの言語でも最初に躓くのが入力だと思います。Rust も例にもれずそうなりがちですが、tanakh 先生による便利なマクロがおすすめです: Rustで競技プログラミングの入力をスッキリ記述するマクロ この記事は上記の記事が書かれる前に書かれたので、以下の
まえがき 書きたいことはたくさんあるけど水色になるまでにやったことだけに絞って書きました。 必要なアルゴリズムなどについては他の方が書いているので省きました。(追記) 以下に書いたことは個人の感想です。まさかり担いでる人は退場するか地面に置くかしてください。物騒なのは嫌です。 目標 塚本さんの記事を参考に、以下の2つを達成できることを目標に精進しました。 300点問題のうち8割を30分で解けるようにする 400点問題の内半分くらいを時間内に解けるようにする。 やったこと やったことは主に「バチャを立てる」、「記事を書く」の2つです バチャを立てる AtCoder Virtual Contestというサイトでバチャを立てます。 強制的に精進できるので自分が苦手な問題とも向き合えます。 感情に流されず機械的に取り組めるのがバチャの強みだと思います。 僕のTwitterで今からバチャやりまーす、
「競技プログラミング」とは、出題される問題を制限時間内に解くプログラムを作成するスピードを争う競技で、プログラミングを使ってパズルを解くスポーツと表現されることもある競技です。今回は競技プログラミングに参加するための環境を構築し、コンテストの過去問を解いてみました。 AtCoder http://atcoder.jp/ 今回はAtCoderというサイトを使います。トップページへアクセスし、右上の「新規登録」をクリック。 ユーザーID、メールアドレス、パスワードなどを記入し、「個人情報の取り扱いについて確認しました」にチェックを入れて「新規登録」をクリックします。 登録が完了したら「practice contestに参加する」というボタンが表示されるのでクリックします。 画面上部に「Joined in~」という文字が出たのを確認し、上のタブから「問題」をクリックします。 つづいて「はじめての
はじめに 自分の経験から、Rustで競技プログラミングをやるときに役に立ちそうなことをまとめました Rustで競技プログラミングを始めた方がRust特有の引っかかりどころに引っかかることなく、 より問題の本質に集中できるようになれば幸いです 対象 プログラミング言語Rustをだいたい理解したけど競技プログラミングでRustを使うのは不安な人 環境構築 とりあえず RUST_BACKTRACE=1 を環境変数に設定しておく エディタはなんでも良いですが 入力補完 (rust-analyzer) 保存時か任意のタイミングで自動整形 (Rustfmt) 自動コンパイル & エラー箇所の表示 を導入しておくのをおすすめします。導入方法はググれば大丈夫だと思います rustup override rustup overrideを使うことでカレントディレクトリ以下で使うRustのバージョンを指定できま
この記事は、社長としてではなく、競技プログラミングの1選手としての記事になります。あんまり初心者への配慮とかしてません。 おそらく多くの人は、実践的に使えるアルゴリズムとかの記事を望んでるんだと思うんだけど、僕はどちらかというと、精神論のほうが得意なので。 近頃、本当に弱くなったなぁ、と感じることが多い。 いや、周りが強くなったのかもしれない。昔判らなかった問題でも、今なら解ける。そういう問題は多い。それを考えると、昔よりは強くなっているが、相対的に弱くなっているだけかもしれない。 そりゃまぁ、RedCoder(Rating2200以上。日本で30人程度の水準)を保つ程度なら出来る。確かにRedCoder手前に壁はある。だが、まともにコンテストに取り組んで、解けなかった問題をすべて復習する、それを数年間続けてれば、ある程度のセンスがあれば辿り着ける領域だ。さすがにそこから滑り落ちることはな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く