概要

  • プロコンで必要となる知識のまとめ。

下位ページ

目次

記録

アルゴリズムの勉強必要性

  • 特にこのページはアルゴリズムのまとめ。
  • アルゴリズムが判ってない、計算量が判ってないから、「○○は遅いからダメ」みたいなのをあらゆる状況で言っちゃう人は割と多い。必要なところだけ早くすればいい。
  • 以下の問題を何とかしたいから勉強しているのだけど、キリがないという気分
    1. 正しいと信じてるプログラムが間違ってるケースを減らしたい
    2. 脳内でこうやればできる、というところと実装の溝を減らしたい。実装を単純作業にしたい
    3. トップレベルの人でも普通知らない、非自明かつ一般的なアルゴリズムを使えるようになりない
    4. 典型なのに知らずに解けないケースを減らしたい
  • 上位者の提出の早いコードを読んで学ぶ必要性
  • コンテスト中だけでもいいから、「ちゃんと最後まで問題に向き合う」というのは大切
  • 「サンプルが通った時の提出前の回答の信頼度」みたいなのもまるで計れないと、テストの数をどれくらいにすべきかの直感がなくなる
  • 実装に時間がかかった問題は、ちゃんと上位陣のコード読んでリファクタリングしないと、実装力の伸びは鈍化する。ちゃんとシンプルな実装を学ぶのとても大切。

マネタイズ

  • Atcoder 定期コンテスト1回で100万-200万
  • Topcoder
    • Topcoderでお金を得る
    • topcoderのビジネスはデザインとかがメイン。マラソンは割と外注あるが客寄せが大きな目的。
  • 1000万の案件も

練習方法

  • 解いた問題数を増やすのは良い事なんだけど、解いた問題数を増やすためだけに、簡単な問題を解きまくるのってすげえ時間の無駄
  • Codeforces
    • 黄色の人とかがCFのBCD埋めるのは典型力と非典型力と実装力が程よくついていいと思うけどE埋めは本当に虚無なのでやめた方がいいと思う
    • Eには典型重実装がたくさんあって不毛
  • AOJ-ICPC
    • 多くの人にはオススメできない気がしてきました。
    • 自分はすごい実力ついたと思っていたけれど、赤になってから実装力不足が目立ち始めたから始めただけ
    • 赤になるまでは質の高い問題をひたすら解くべき

コンテストの目的

  • コンテストの役目は、優秀な人材を育てることではなくて、優秀な人材と、そうでない人材とを容易に見分けることが可能な場を提供すること
    • A+Bが解けないみたいなやつを足切りするなど
  • 実は緑くらいあれば、ウェブ開発とかは普通にできる。

外部の人への説明

  • 「単体テストは用意されているけど、単体テスト専用対策による不正がされないように、不正解ケースを教えてくれないシステム」

参考

ライブラリ


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS