概要 †
- プロコンで必要となる知識のまとめ。
- 特にこのページはアルゴリズムのまとめ。
- アルゴリズムが判ってない、計算量が判ってないから、「○○は遅いからダメ」みたいなのをあらゆる状況で言っちゃう人は割と多い。必要なところだけ早くすればいい。
- 以下の問題を何とかしたいから勉強しているのだけど、キリがないという気分
- 正しいと信じてるプログラムが間違ってるケースを減らしたい
- 脳内でこうやればできる、というところと実装の溝を減らしたい。実装を単純作業にしたい
- トップレベルの人でも普通知らない、非自明かつ一般的なアルゴリズムを使えるようになりない
- 典型なのに知らずに解けないケースを減らしたい
- コンテスト中だけでもいいから、「ちゃんと最後まで問題に向き合う」というのは大切だと思ってる。解けないと思った問題をすぐ諦めちゃう癖をつけると、解ける問題も解けなくなる。そこの意識の持ちようで、レーティングで500は変わる。
記録 †
下位ページ †
目次 †
練習方法 †
- 解いた問題数を増やすのは良い事なんだけど、解いた問題数を増やすためだけに、簡単な問題を解きまくるのってすげえ時間の無駄
- Codeforces
- 黄色の人とかがCFのBCD埋めるのは典型力と非典型力と実装力が程よくついていいと思うけどE埋めは本当に虚無なのでやめた方がいいと思う
- Eには典型重実装がたくさんあって不毛
- AOJ-ICPC
- 多くの人にはオススメできない気がしてきました。
- 自分はすごい実力ついたと思っていたけれど、赤になってから実装力不足が目立ち始めたから始めただけ
- 赤になるまでは質の高い問題をひたすら解くべき
コンテストの目的 †
- コンテストの役目は、優秀な人材を育てることではなくて、優秀な人材と、そうでない人材とを容易に見分けることが可能な場を提供すること
外部の人への説明 †
- 競技プログラミング(短時間制)って、要するに、「単体テストは用意されているけど、単体テスト専用対策による不正がされないように、不正解ケースを教えてくれないシステム」だ、というと、割と開発系の人にも理解されやすいイメージ。ただ要求がアルゴリズム方面にだいぶ偏ってはいる。
参考 †
ライブラリ †
|