Submit Search
Upload
abc027
•
4 likes
•
14,935 views
A
AtCoder Inc.
Follow
AtCoder Beginner Contest 027 解説
Read less
Read more
Education
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Inc.
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Inc.
AtCoder Beginner Contest 016 解説
AtCoder Beginner Contest 016 解説
AtCoder Inc.
AtCoder Beginner Contest 017 解説
AtCoder Beginner Contest 017 解説
AtCoder Inc.
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
AtCoder Inc.
abc031
abc031
AtCoder Inc.
AtCoder Beginner Contest 022 解説
AtCoder Beginner Contest 022 解説
AtCoder Inc.
AtCoder Beginner Contest 013 解説
AtCoder Beginner Contest 013 解説
AtCoder Inc.
Recommended
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Inc.
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Inc.
AtCoder Beginner Contest 016 解説
AtCoder Beginner Contest 016 解説
AtCoder Inc.
AtCoder Beginner Contest 017 解説
AtCoder Beginner Contest 017 解説
AtCoder Inc.
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
AtCoder Inc.
abc031
abc031
AtCoder Inc.
AtCoder Beginner Contest 022 解説
AtCoder Beginner Contest 022 解説
AtCoder Inc.
AtCoder Beginner Contest 013 解説
AtCoder Beginner Contest 013 解説
AtCoder Inc.
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 024 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 026 解説
AtCoder Beginner Contest 026 解説
AtCoder Inc.
Abc009
Abc009
AtCoder Inc.
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Inc.
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Inc.
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Inc.
AtCoder Regular Contest 034 解説
AtCoder Regular Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 003 解説
AtCoder Beginner Contest 003 解説
AtCoder Inc.
AtCoder Regular Contest 043 解説
AtCoder Regular Contest 043 解説
AtCoder Inc.
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
AtCoder Inc.
abc032
abc032
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 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
AtCoder Inc.
CODE FESTIVAL 予選B 解説
CODE FESTIVAL 予選B 解説
AtCoder Inc.
AtCoder Regular Contest 035 解説
AtCoder Regular Contest 035 解説
AtCoder Inc.
AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
AtCoder Inc.
HAPPY NEW YEAR 2017 コンテスト 解説
HAPPY NEW YEAR 2017 コンテスト 解説
皓介 三田
Aizu-2017: B
Aizu-2017: B
HCPC: 北海道大学競技プログラミングサークル
More Related Content
What's hot
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 024 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 026 解説
AtCoder Beginner Contest 026 解説
AtCoder Inc.
Abc009
Abc009
AtCoder Inc.
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Inc.
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Inc.
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Inc.
AtCoder Regular Contest 034 解説
AtCoder Regular Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 003 解説
AtCoder Beginner Contest 003 解説
AtCoder Inc.
AtCoder Regular Contest 043 解説
AtCoder Regular Contest 043 解説
AtCoder Inc.
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
AtCoder Inc.
abc032
abc032
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 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
AtCoder Inc.
CODE FESTIVAL 予選B 解説
CODE FESTIVAL 予選B 解説
AtCoder Inc.
AtCoder Regular Contest 035 解説
AtCoder Regular Contest 035 解説
AtCoder Inc.
AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
AtCoder Inc.
What's hot
(20)
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 026 解説
AtCoder Beginner Contest 026 解説
Abc009
Abc009
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Regular Contest 034 解説
AtCoder Regular Contest 034 解説
AtCoder Beginner Contest 003 解説
AtCoder Beginner Contest 003 解説
AtCoder Regular Contest 043 解説
AtCoder Regular Contest 043 解説
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
abc032
abc032
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 005 解説
AtCoder Beginner Contest 019 解説
AtCoder Beginner Contest 019 解説
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
CODE FESTIVAL 予選B 解説
CODE FESTIVAL 予選B 解説
AtCoder Regular Contest 035 解説
AtCoder Regular Contest 035 解説
AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
Similar to abc027
HAPPY NEW YEAR 2017 コンテスト 解説
HAPPY NEW YEAR 2017 コンテスト 解説
皓介 三田
Aizu-2017: B
Aizu-2017: B
HCPC: 北海道大学競技プログラミングサークル
Arc041
Arc041
AtCoder Inc.
CODE THANKS FESTIVAL 2014 A日程 解説
CODE THANKS FESTIVAL 2014 A日程 解説
AtCoder Inc.
JOISP2013 Day3 Cake
JOISP2013 Day3 Cake
__m3n
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説
AtCoder Inc.
Similar to abc027
(7)
HAPPY NEW YEAR 2017 コンテスト 解説
HAPPY NEW YEAR 2017 コンテスト 解説
Aizu-2017: B
Aizu-2017: B
Arc041
Arc041
CODE THANKS FESTIVAL 2014 A日程 解説
CODE THANKS FESTIVAL 2014 A日程 解説
JOISP2013 Day3 Cake
JOISP2013 Day3 Cake
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Regular Contest 036 解説
AtCoder Regular Contest 036 解説
More from 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 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.
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
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.
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説
AtCoder Inc.
CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説
AtCoder Inc.
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
AtCoder Inc.
天下一プログラマーコンテスト2015 予選B 解説
天下一プログラマーコンテスト2015 予選B 解説
AtCoder Inc.
More from 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 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
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Beginner Contest 030 解説
AtCoder Beginner Contest 030 解説
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説
CODE FESTIVAL 2015 予選A 解説
CODE FESTIVAL 2015 予選A 解説
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
天下一プログラマーコンテスト2015 予選B 解説
天下一プログラマーコンテスト2015 予選B 解説
Recently uploaded
My Inspire High Award 2024 「正義って存在するの?」
My Inspire High Award 2024 「正義って存在するの?」
inspirehighstaff03
What I did before opening my business..pdf
What I did before opening my business..pdf
oganekyokoi
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
inspirehighstaff03
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
inspirehighstaff03
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
inspirehighstaff03
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
inspirehighstaff03
My Inspire High Award 2024 「家族とは何か」
My Inspire High Award 2024 「家族とは何か」
inspirehighstaff03
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
inspirehighstaff03
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
inspirehighstaff03
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
inspirehighstaff03
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
oganekyokoi
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
shu1108hina1020
International Politics I - Lecture 1
International Politics I - Lecture 1
Toru Oga
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
RodolfFernandez1
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
oganekyokoi
My Inspire High Award 2024 「孤独は敵なのか?」
My Inspire High Award 2024 「孤独は敵なのか?」
inspirehighstaff03
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
inspirehighstaff03
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
ssusere0a682
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
inspirehighstaff03
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
inspirehighstaff03
Recently uploaded
(20)
My Inspire High Award 2024 「正義って存在するの?」
My Inspire High Award 2024 「正義って存在するの?」
What I did before opening my business..pdf
What I did before opening my business..pdf
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024 「家族とは何か」
My Inspire High Award 2024 「家族とは何か」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要 パワーポイント
International Politics I - Lecture 1
International Politics I - Lecture 1
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
My Inspire High Award 2024 「孤独は敵なのか?」
My Inspire High Award 2024 「孤独は敵なのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
abc027
1.
ABC #027 解説 解説スライド担当
: @sugim48
2.
問題 A –
長方形
3.
問題概要 • ある長方形(正方形も含む)の 3
つの辺の長さが与えられる。残り 1 つの辺の長さを求めよ。 3 ? 4 4 5 ? 5 5
4.
考察 • 向かい合う辺の長さは等しい。 3 ? 4 4 5
? 5 5
5.
解法 • 与えられた 3
つの数のうち、等しい組を見つけたら、余った数がその まま答えになる。 4 3 4 𝑎𝑛𝑠 = 5 5 5 = 𝑎𝑛𝑠
6.
解答例 (C++) int x,
y, z; cin >> x >> y >> z; int ans; if (x == y) ans = z; if (y == z) ans = x; if (z == x) ans = y; cout << ans << endl;
7.
問題 B –
島と橋
8.
問題概要 • 𝑁 個の島が横一列に並んでいる。左から
𝑖 番目の島には 𝑎𝑖 人の住 人が住んでいる。 • 隣り合う島の間に橋を架け、住人を移動させることができる。 • すべての島に同じ人数の住人が住むようにできるか? また、最小で 何本の橋を架ければよいか? • 2 ≤ 𝑁 ≤ 100 • 0 ≤ 𝑎𝑖 ≤ 100
9.
例
10.
例
11.
例
12.
解法 • まず、 𝑖=1 𝑁 𝑎𝑖
が 𝑁 で割り切れなければ、不可能である。 • 割り切れるならば、それぞれの島に 1 𝑁 𝑖=1 𝑁 𝑎𝑖 人ずつ住むことになる。
13.
解法 • 隣り合う島の間ごとに橋が必要か判定していく。 • 下図の橋は必要か?
橋の左側が 1 人、橋の右側が 4 人になって ほしいので、橋を左から右へ 1 人渡ることになる。 → 必要
14.
解法 • 下図の橋は必要か? 橋の左側が
2 人、橋の右側が 3 人になって ほしいが、はじめからそうなっている。 → 必要ではない
15.
解法 • このようにして、隣り合う島の間ごとに橋が必要か判定し、必要と判 定された橋の本数を答えればよい。
16.
問題 C –
倍々ゲーム
17.
問題概要 • A と
B が二人ゲームで勝負する。 • 自然数 𝑁 が与えられる。𝑥 = 1 に初期化する。 • A → B → A → … の順に次の操作を行う。 𝑥 を 2𝑥 または 2𝑥 + 1 に置き換える。 • 𝑥 > 𝑁 にした人が負け。 • どちらかが勝つか求めよ。 • 1 ≤ 𝑁 ≤ 1018
18.
• A の操作を赤、B
の操作を青で表すと、図のように 𝑥 が変化する。 1098 131211 1514 4 5 6 7 2 3 1
19.
• 例えば 𝑁
= 5 のとき、OK の整数と NG の整数はこのように分離され る。 1098 131211 1514 4 5 6 7 2 3 1
20.
• 境界線をまたぐ操作だけに注目すると、A の操作は左に、B
の操作 は右に偏っている。 1098 131211 1514 4 5 6 7 2 3 1
21.
• 境界線をまたぐと負けてしまうので、A はできるだけ右に、B
はできる だけ左に行きたがることが分かる。 1098 131211 1514 4 5 6 7 2 3 1
22.
• これを実際にシミュレートすると B
が負けると判定できる。 1098 131211 1514 4 5 6 7 2 3 1
23.
• 別の例として 𝑁
= 10 のとき、OK の整数と NG の整数はこのように 分離される。 1098 131211 1514 4 5 6 7 2 3 1
24.
• 境界線をまたぐ操作だけに注目すると、A の操作は右に、B
の操作 は左に偏っている。 1098 131211 1514 4 5 6 7 2 3 1
25.
• 境界線をまたぐと負けてしまうので、A はできるだけ左に、B
はできる だけ右に行きたがることが分かる。 1098 131211 1514 4 5 6 7 2 3 1
26.
• これを実際にシミュレートすると B
が負けると判定できる。 1098 131211 1514 4 5 6 7 2 3 1
27.
解法 • 𝑁 の深さの偶奇に応じて、A
と B の戦略が決まる。 • A と B の戦略を実際にシミュレートして、どちらかが勝つか判定する。 • 𝑁 の深さは次のようにして 𝑂(𝑙𝑜𝑔𝑁) 時間で計算できる。 int depth = 0; for (long long n = N; n > 0; n /= 2) depth++;
28.
問題 D –
ロボット
29.
問題概要 • 数直線の原点にロボットが置かれている。はじめ、ロボットの幸福度 は 0
である。 • このロボットが命令列 𝑆 を順に実行する。 M : 正か負の向きに距離 1 だけ移動する。 + : 今の座標を 𝑥 とすると、幸福度が +𝑥 だけ変化する。 - : 今の座標を 𝑥 とすると、幸福度が -𝑥 だけ変化する。 • 最終的にロボットは原点に戻っていなければならない。 • 最終的な幸福度の最大値を求めよ。 • 1 ≤ 𝑆 ≤ 105
30.
部分点解法 • 1 ≤
𝑆 ≤ 1,000 と小さい。 → 動的計画法 • 𝑑𝑝 何文字目 座標 ≔ (幸福度の最大値) を埋めていく。 • 𝑑𝑝 |𝑆| 0 が答え。 • 𝑂( 𝑆 2) で間に合う。
31.
満点解法 • 1 ≤
𝑆 ≤ 105 と大きいので、動的計画法では間に合わない。 → もっと速い解法を考える。 • ロボットの正の向きへの移動を > 、負の向きへの移動を < と表すこ とにする。
32.
考察 • >+<<-> という命令列を考える。 •
幸福度の変化量は + ごとに (自分より左の > の個数) - (自分より左の < の個数) - ごとに (自分より左の < の個数) - (自分より左の > の個数) • 見方を変えると > ごとに (自分より右の + の個数) - (自分より右の - の個数) < ごとに (自分より右の - の個数) - (自分より右の + の個数)
33.
考察 • (自分より右の +
の個数) と (自分より右の - の個数) が分かれば、 > または < を選んだときの幸福度の変化量を予言できる! • 例) M--M-M+M+ M - - M - M + M + > −1 +1 +2 +1 < +1 −1 −2 −1
34.
考察 • 最終的な幸福度を最大化したいので、幸福度が増える向きを貪欲に 選んでいけばいいか? → 「最終的にロボットは原点に戻っていなければならない」という条件 を守れない。 M
- - M - M + M + > −1 +1 +2 +1 < +1 −1 −2 −1
35.
考察 • 最終的にロボットが原点に戻るためには、> と
< を同じ回数だけ選ば なければならない。 • この制約下でできるだけ大きいものを選びたい。 M - - M - M + M + > −1 +1 +2 +1 < +1 −1 −2 −1
36.
考察 • この行を昇順にソートすると →
[−1, +1, +1, +2] • 前半分を < に、後ろ半分を > に割り当てる → −1, +1, +1, +2 • +1 + +2 − −1 + +1 = 3 が答え! M - - M - M + M + > −1 +1 +2 +1 < +1 −1 −2 −1
37.
解法 • 命令列 𝑆
の各 M について、 (自分より右の + の個数) - (自分より右の - の個数) を計算し、 配列 𝐴 に格納する。 • 𝐴 を昇順にソートする。 • (𝐴 の後ろ半分の総和) – (𝐴 の前半分の総和) が答え。 • 𝑂( 𝑆 log 𝑆 ) で間に合う。 • なお、バケツソートを用いると 𝑂( 𝑆 )
Download now