Suche senden
Hochladen
天下一プログラマーコンテスト2015 予選A E問題 解説
•
0 gefällt mir
•
1,652 views
A
AtCoder Inc.
Folgen
天下一プログラマーコンテスト2015 予選A E問題 解説
Weniger lesen
Mehr lesen
Bildung
Melden
Teilen
Melden
Teilen
1 von 20
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
CODE FESTIVAL 2014 エキシビジョン 解説
CODE FESTIVAL 2014 エキシビジョン 解説
AtCoder Inc.
会津合宿2015Day3:E問題
会津合宿2015Day3:E問題
HCPC: 北海道大学競技プログラミングサークル
Let's enjoy modulo!
Let's enjoy modulo!
Junpei Tsuji
JOIss2014
JOIss2014
Shunya Satake
Chokudai search
Chokudai search
AtCoder Inc.
スペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
実践・最強最速のアルゴリズム勉強会 第五回講義資料(ワークスアプリケーションズ & AtCoder)
AtCoder Inc.
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
Weitere ähnliche Inhalte
Andere mochten auch
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
Tatsuya Yokota
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
Takayoshi Yamashita
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
Takahiro Kubo
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
考司 小杉
5分でわかるベイズ確率
5分でわかるベイズ確率
hoxo_m
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
cvpaper. challenge
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Yoichi Ochiai
Andere mochten auch
(7)
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
学部生向けベイズ統計イントロ(公開版)
学部生向けベイズ統計イントロ(公開版)
5分でわかるベイズ確率
5分でわかるベイズ確率
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
先端技術とメディア表現1 #FTMA15
先端技術とメディア表現1 #FTMA15
Mehr von AtCoder Inc.
TCO2017R1
TCO2017R1
AtCoder Inc.
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
AtCoder Inc.
Square869120 contest #2
Square869120 contest #2
AtCoder Inc.
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
AtCoder Inc.
Chokudai Contest 001
Chokudai Contest 001
AtCoder Inc.
AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
AtCoder Regular Contest 048
AtCoder Regular Contest 048
AtCoder Inc.
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Inc.
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.
DDPC 2016 予選 解説
DDPC 2016 予選 解説
AtCoder Inc.
arc047
arc047
AtCoder Inc.
abc032
abc032
AtCoder Inc.
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
AtCoder Inc.
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
abc031
abc031
AtCoder Inc.
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
AtCoder Inc.
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Inc.
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
AtCoder Inc.
Mehr von AtCoder Inc.
(20)
TCO2017R1
TCO2017R1
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
Square869120 contest #2
Square869120 contest #2
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Chokudai Contest 001
Chokudai Contest 001
AtCoder Regular Contest 049 解説
AtCoder Regular Contest 049 解説
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Regular Contest 048
AtCoder Regular Contest 048
MUJINプログラミングチャレンジ2016 解説
MUJINプログラミングチャレンジ2016 解説
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
DDPC 2016 予選 解説
DDPC 2016 予選 解説
arc047
arc047
abc032
abc032
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
AtCoder Regular Contest 046
AtCoder Regular Contest 046
abc031
abc031
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
Kürzlich hochgeladen
TEAMIN Education Service Overview_20240407
TEAMIN Education Service Overview_20240407
yukisuga3
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
yutakashikano1984
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
shu1108hina1020
The first time I used CANVA to create a slide document.
The first time I used CANVA to create a slide document.
oganekyokoi
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
RodolfFernandez1
2024年度 東京工業大学「ロボット技術」 ロボットミドルウェア (2024年4月11日)
2024年度 東京工業大学「ロボット技術」 ロボットミドルウェア (2024年4月11日)
NoriakiAndo
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
oganekyokoi
Kürzlich hochgeladen
(7)
TEAMIN Education Service Overview_20240407
TEAMIN Education Service Overview_20240407
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
The first time I used CANVA to create a slide document.
The first time I used CANVA to create a slide document.
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
2024年度 東京工業大学「ロボット技術」 ロボットミドルウェア (2024年4月11日)
2024年度 東京工業大学「ロボット技術」 ロボットミドルウェア (2024年4月11日)
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
天下一プログラマーコンテスト2015 予選A E問題 解説
1.
E問題 解説 「天下⼀一魔法使い」 天下⼀一プログラマーコンテスト2015
予選A
2.
問題概要 円周上にN個の点が等間隔で並んでいる 点をつないでいくつかの多⾓角形を作る ・各点はちょうど1つの多⾓角形に含まれなければならない
・多⾓角形の頂点数は全てK以上でなければならない ・多⾓角形がひとつながりになっていなければならない このような点のつなぎ⽅方は何通りか? 3 ≦ N ≦ 400 3 ≦ K ≦ N
3.
部分点 1 N ≦
50 N/3 < K
4.
部分点 1 N/3 <
K → 多⾓角形は⾼高々2つしか作れない N < 3K であり、多⾓角形を3つ以上作るには点が⾜足りない
5.
部分点 1 多⾓角形が1つの場合:1通り 多⾓角形が2つの場合:
「K頂点以上の多⾓角形を2つ作る場合の数」 (ひとつながりでないものも含めたもの) から 「2つの多⾓角形が交差しない場合の数」 を引く
6.
部分点 1 ・K頂点以上の多⾓角形を2つ作る場合の数 N個の点を2つのグループに分ける場合の数と同じ
ʻ‘Aʼ’とʼ’Bʼ’を合計N個並べる場合の数 / 2 と同じ (2つのグループは区別しないため) ʻ‘Aʼ’の個数を K から N-‐‑‒K まで試し、その和を取る ʻ‘Aʼ’の個数がa個のときは、N C a コンビネーションの計算にはパスカルの三⾓角形などを⽤用いれば良良い
7.
部分点 2 N ≦
50 この部分点は、計算量量が多項式ならば満点解法よりも多少効 率率率が悪い部分があっても取ることができます
8.
満点解法 N ≦ 400
O(N^3) のアルゴリズムなら満点を取ることができます
9.
満点解法 「ひとつながりかどうかを無視した場合の数」 から 「ひとつながりでない場合の数」
を引く
10.
満点解法 説明のため、点の個数が i 個のときの答えを
A[i] としておきます(忘れないでください) (つまり、この問題⾃自体の答えは A[N] になります)
11.
ひとつながりかどうかを無視した場合の数 N個の点をいくつかの「K個以上の点を含むグループ」に分 ける場合の数と同じ dp[i] =
i 個の点をいくつかの「K 個以上の点を含むグルー プ」にわける場合の数 というDPを計算する
12.
DPの計算 dp[i] = i
個の点をいくつかの「K 個以上の点を含むグルー プ」にわける場合の数 追加する多⾓角形は真北北の点を含むようにすると、このように 重複なく計算できる dp[0] = 1 for (i : 0 ~ N) for (j : K ~ N) { dp[i+j] += dp[i] * (i+j-‐1) C (j-‐1) }
13.
ひとつながりかどうかを無視した場合の数 説明のため、 G[i] =
dp[i] = i 個の点をいくつかの「K 個以上の点を含むグル ープ」にわける場合の数 としておきます(忘れないでください)
14.
真北北の点を含む連結成分に注⽬目して分割する 連結成分:ひとつながりになっている極⼤大な部分集合 ひとつながりでない場合の数
15.
各部分をそれぞれ円に直してみる ひとつながりでない場合の数
16.
⾚赤:A[6] ⻘青:G[3] 緑:G[4]
灰:G[6] これらを掛け合わせたものがこの分割での場合の数 (⾚赤のみひとつながりで、それ以外はなんでもよい) ひとつながりでない場合の数
17.
ある分割についての場合の数は ・A[(真北北の点を含む連結成分に含まれる点の個数)] ・分割された各部分について G[(その部分に含まれる点の個数)]
を掛け合わせたもの 各分割に対してこれを⾜足し合わせれば、ひとつながりでない 場合の数が求まる ひとつながりでない場合の数
18.
DP[i][j] = i
個の点のうち j 個の点が真北北の点を含む連結成 分に含まれる場合の数 / A[j] = i 個の点のうち j 個の点が真北北の点を含む連結成分に含まれるような分割につ いて、真北北の点を含む連結成分以外のつなぎ⽅方の個数を⾜足し合わせたもの というDPを計算する DP DP[0][0] = 1 for (i : 0 ~ N) for (j : 0 ~ i) { for (k : 0 ~ N) { DP[i+k+1][j+1] += DP[i][j] * G[k] } }
19.
・Gを前計算する ・DPを前計算する ・Aを⼩小さい⽅方から計算していく
・A[N] を出⼒力力する 答えの求め⽅方 A[0] = 1 for (i = 1~N) { A[i] = G[i] for (j : 1~(i-‐1)) { A[i] -‐= DP[i][j] * A[j] } }
20.
・Gを前計算する ← O(N^2) ・DPを前計算する
← O(N^3) ・Aを⼩小さい⽅方から計算していく ← O(N^2) となり、O(N^3) なので満点を得ることができる 計算量量
Jetzt herunterladen