Suche senden
Hochladen
日本情報オリンピック旗(JOI Flag) 解説
•
2 gefällt mir
•
1,216 views
Kensuke Imanishi
Folgen
JOI 2012 春合宿 Day 1
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 20
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
AtCoder Inc.
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Inc.
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
Abc009
Abc009
AtCoder Inc.
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
AtCoder Inc.
Empfohlen
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
AtCoder Inc.
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Inc.
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
AtCoder Regular Contest 030 解説
AtCoder Regular Contest 030 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
Abc009
Abc009
AtCoder Inc.
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
AtCoder Inc.
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Inc.
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説
AtCoder Inc.
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説
AtCoder Inc.
U・N・C・O
U・N・C・O
tomerun
Cf219 d1e
Cf219 d1e
DEGwer
arc047
arc047
AtCoder Inc.
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
AtCoder Inc.
AtCoder Beginner Contest 019 解説
AtCoder Beginner Contest 019 解説
AtCoder Inc.
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
AtCoder Inc.
競技プログラミングの楽しみ
競技プログラミングの楽しみ
na_o_ys
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会
Shuyo Nakatani
計算量
計算量
Ken Ogura
AtCoder Regular Contest 034 解説
AtCoder Regular Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Inc.
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 019 解説
AtCoder Inc.
動的計画法
動的計画法
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
AtCoder Inc.
ICPC2014 チーム紹介スライド !#$%&()*+-./:;<=>?@[\]^_`{|}~
ICPC2014 チーム紹介スライド !#$%&()*+-./:;<=>?@[\]^_`{|}~
Kensuke Imanishi
情報サイトの金持ちさんと貧乏さん
情報サイトの金持ちさんと貧乏さん
Atsufumi Yoshikawa
Weitere ähnliche Inhalte
Was ist angesagt?
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Inc.
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説
AtCoder Inc.
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説
AtCoder Inc.
U・N・C・O
U・N・C・O
tomerun
Cf219 d1e
Cf219 d1e
DEGwer
arc047
arc047
AtCoder Inc.
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
AtCoder Inc.
AtCoder Beginner Contest 019 解説
AtCoder Beginner Contest 019 解説
AtCoder Inc.
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
AtCoder Inc.
競技プログラミングの楽しみ
競技プログラミングの楽しみ
na_o_ys
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会
Shuyo Nakatani
計算量
計算量
Ken Ogura
AtCoder Regular Contest 034 解説
AtCoder Regular Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Inc.
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 019 解説
AtCoder Inc.
動的計画法
動的計画法
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
AtCoder Inc.
Was ist angesagt?
(20)
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
動的計画法を極める!
動的計画法を極める!
AtCoder Regular Contest 021 解説
AtCoder Regular Contest 021 解説
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説
U・N・C・O
U・N・C・O
Cf219 d1e
Cf219 d1e
arc047
arc047
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 019 解説
AtCoder Beginner Contest 019 解説
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
競技プログラミングの楽しみ
競技プログラミングの楽しみ
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
Infinite SVM - ICML 2011 読み会
Infinite SVM - ICML 2011 読み会
計算量
計算量
AtCoder Regular Contest 034 解説
AtCoder Regular Contest 034 解説
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 019 解説
動的計画法
動的計画法
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
Andere mochten auch
ICPC2014 チーム紹介スライド !#$%&()*+-./:;<=>?@[\]^_`{|}~
ICPC2014 チーム紹介スライド !#$%&()*+-./:;<=>?@[\]^_`{|}~
Kensuke Imanishi
情報サイトの金持ちさんと貧乏さん
情報サイトの金持ちさんと貧乏さん
Atsufumi Yoshikawa
超初心者向け・オンライン勉強会のススメ(WordCamp Tokyo 2016 LT スライド)
超初心者向け・オンライン勉強会のススメ(WordCamp Tokyo 2016 LT スライド)
Hijili Kosugi
テーマ・プラグイン開発の光と闇 #wctokyo
テーマ・プラグイン開発の光と闇 #wctokyo
Hidekazu Ishikawa
Web制作・運用会社に必要なCDNサービスとは?
Web制作・運用会社に必要なCDNサービスとは?
J-Stream Inc.
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
Kenji Hiranabe
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
masashi takehara
Andere mochten auch
(7)
ICPC2014 チーム紹介スライド !#$%&()*+-./:;<=>?@[\]^_`{|}~
ICPC2014 チーム紹介スライド !#$%&()*+-./:;<=>?@[\]^_`{|}~
情報サイトの金持ちさんと貧乏さん
情報サイトの金持ちさんと貧乏さん
超初心者向け・オンライン勉強会のススメ(WordCamp Tokyo 2016 LT スライド)
超初心者向け・オンライン勉強会のススメ(WordCamp Tokyo 2016 LT スライド)
テーマ・プラグイン開発の光と闇 #wctokyo
テーマ・プラグイン開発の光と闇 #wctokyo
Web制作・運用会社に必要なCDNサービスとは?
Web制作・運用会社に必要なCDNサービスとは?
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
[Slide]闇アジャイラーvs光アジャイラーforDevLOVE(EnergizedWorkLT祭)
Ähnlich wie 日本情報オリンピック旗(JOI Flag) 解説
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Inc.
AtCoder Beginner Contest 009 解説
AtCoder Beginner Contest 009 解説
AtCoder Inc.
写像 12 相
写像 12 相
HCPC: 北海道大学競技プログラミングサークル
Sec15 dynamic programming
Sec15 dynamic programming
Keisuke OTAKI
Mastermind
Mastermind
tomerun
JOI本選 夜店(NightMarket)解説
JOI本選 夜店(NightMarket)解説
Hiroshi Yamashita
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
Kazkuki Oakamoto
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
Hiroki Mizukami
計算機理論入門03
計算機理論入門03
Tomoyuki Tarumi
130323 slide all
130323 slide all
ikea0064
AtCoder Regular Contest 017
AtCoder Regular Contest 017
AtCoder Inc.
Joi模擬予選2013 6番解説
Joi模擬予選2013 6番解説
DEGwer
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Inc.
Ähnlich wie 日本情報オリンピック旗(JOI Flag) 解説
(14)
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Beginner Contest 009 解説
AtCoder Beginner Contest 009 解説
写像 12 相
写像 12 相
Sec15 dynamic programming
Sec15 dynamic programming
Mastermind
Mastermind
JOI本選 夜店(NightMarket)解説
JOI本選 夜店(NightMarket)解説
ウェーブレット木の世界
ウェーブレット木の世界
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
姫路 IT 系勉強会 Vol.6 プログラミングコンテストという名のオンラインゲームがあるらしい
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
計算機理論入門03
計算機理論入門03
130323 slide all
130323 slide all
AtCoder Regular Contest 017
AtCoder Regular Contest 017
Joi模擬予選2013 6番解説
Joi模擬予選2013 6番解説
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
日本情報オリンピック旗(JOI Flag) 解説
1.
日本情報オリンピック旗
JOI Flag 今西 健介 @japlj
2.
問題 l
再帰的に定義された JOI 旗 l 4つに分割して J, O, I, JOI旗 l 大きさ 2K × 2K のマス目 l あからじめ N マスが埋まっている l 1 K 30, 1 N 1 000 l 正しいJOI旗に修正する最小コストは?
3.
基本的な考え方
JOI旗は再帰的に定義されている (レベルKの旗はレベルK-1の旗を含む)
4.
基本的な考え方
JOI旗は再帰的に定義されている (レベルKの旗はレベルK-1の旗を含む) ↓ 定義通りに4つに分割して 再帰的に答を計算できる
5.
簡単な場合 l
マス目を J (または O, I) のみで埋める場合 l さすがに簡単 l たとえば J のみで埋めるなら O と I の個数を数えれば良い l 数え方はあとで
6.
40%解法 その1 l
実際に 2K × 2K ぶんのメモリをとる l 空間計算量 O(4K) l 文字を数えるときは実際に マス目を見ていけばよい l 時間計算量 O(K 4K)
7.
40%解法 その2 l
さすがに無駄が多すぎ l 初めから埋まっているマスは 1 000 個以下 l 文字の数え上げは O(N) でできる l それでも40点 l 必要な再帰呼び出しの回数は O(4K) 回
8.
100%解法 その1 l
マス目の個数に比べて N は小さい! l 4K 430 = 1 152 921 504 606 846 976 l N 1 000 l スカスカ l 初めから埋まっているマスが無ければ 修正に必要なコストは明らかに 0 l 再帰呼び出しが枝刈りできる!
9.
100%解法 その2 l
枝を刈ると O(KN) 回の再帰呼び出し l 各マスが影響を与える再帰呼び出しは K 個 l 文字を O(N) で数えると全体で O(KN2) l KN2 3×107 l 1.5秒あれば間に合う
10.
おまけ l
数え方によってはもっと効率良くなる l 全体で O(KN + N2) l 全体で O(KN)
11.
得点分布 12 10
8 6 4 2 0 0 10 20 30 40 50 60 70 80 90 100
12.
ところで
13.
競技1日目を終えて l
競技初日が終わりました l 結果はどうあれまだ3日あります l 点数にしてまだ900 点もあります l 諦めてはいけない(戒め) l 残り3日で実力を最大限発揮するために 競技上の注意があります
14.
問題を読む • 問題は全部読みましょう –
難易度順に並んでいるとは限らない – 「簡単な問題を読んでいなかった」は痛い • Overview Sheet もちゃんと見ましょう – 時間制限やメモリ制限から問題の雰囲気を 察することができるかもしれない?
15.
アルゴリズム • 明記された部分点に頼る –
得点になる – 部分点のアルゴリズムがヒントになる – 入力のどのパラメータが重要か • 明記された部分点に頼りすぎない – 実装時間との兼ね合い – 小さいサイズだと可能な操作が多い • 自然な部分点解法がわからないまま満点解法 がわかってしまう,なんてことも
16.
得点分布(再掲) 12 10
8 6 4 2 0 0 10 20 30 40 50 60 70 80 90 100
17.
フィードバックについて l
この問題は完全フィードバックでした l 提出したら点数まるわかり l バグっててもデバッグし放題(?) l 【重要】完全フィードバックがある問題は
18.
フィードバックについて l
この問題は完全フィードバックでした l 提出したら点数まるわかり l バグっててもデバッグし放題(?) l 【重要】完全フィードバックがある問題は 簡単 (少なくともその日の問題セットの中では)
19.
得点分布(再再掲) 12 10
8 6 4 2 0 0 10 20 30 40 50 60 70 80 90 100
20.
まとめ
完全フィードバック問題は比較的簡単 解く順番は自由ですが とれる点を落とさないように 2日目からも頑張ってください
Jetzt herunterladen