Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
競技プログラミングのエッセンス 2018/06/30 競プロ@芸工 岡野兼也
Slide 2
Slide 2 text
自己紹介 基本情報 • 岡野兼也 / @ジュジュ • 名古屋大学4年 • OthloTech運営 • 株式会社キスモ インフラエンジニア 好きな技術 仮想化、コンテナ、DevOps、IaC 趣味 登山、自転車、キャンプ、Kubernetes
Slide 3
Slide 3 text
競技プログラミングって何?
Slide 4
Slide 4 text
入力から問題で指定された出力を作る プログラムを速く、高精度に記述する競技会
Slide 5
Slide 5 text
実装するプログラムは十分に高速で、 大きいメモリを利用しないということが求められる
Slide 6
Slide 6 text
処理を考える考察力 考えた処理を実現する実装力
Slide 7
Slide 7 text
競技プログラミングで大事なキーワード アルゴリズム データ構造
Slide 8
Slide 8 text
アルゴリズムとは 決まった解を求めるために 有限回の試行で終了する手順
Slide 9
Slide 9 text
Q. これはアルゴリズム? トランプを順に並べる場合を例にすると、次のようになる。 1. 元の山のカードのうち値が1番小さいものを1つ選ぶ。 2. これを別の場所に並べる。 3. 山のカードが無いことを確認する、もし存在するなら1から3ま での手順を繰り返す。
Slide 10
Slide 10 text
Q. これはアルゴリズム? トランプを順に並べる場合を例にすると、次のようになる。 1. トランプ52枚の束を放り投げて、ばらばらにする。 2. 1枚ずつ無作為にすべてを拾い集める。 3. ソートされているか確認する。もしソート済みでなければ、1か ら3までの手順を繰り返す。
Slide 11
Slide 11 text
データ構造とは コンピュータプログラムで データを扱うための形式
Slide 12
Slide 12 text
データ構造とは なんかいろいろある。 けど割愛。 とりあえず今日は多分配列くらいしか 使わない気がする。 キーワード:リスト、連想配列、集合、木、グラフ
Slide 13
Slide 13 text
それではとりあえずやってみよう。 答えは最後に解説するよ! 5分考えて何もでなかったら聞いてください! 問題 : AtCoder Beginners Selection