Enviar pesquisa
Carregar
CODE FESTIVAL 2015 予選B 解説
•
1 gostou
•
5,803 visualizações
A
AtCoder Inc.
Seguir
CODE FESTIVAL 2015 予選B 解説
Leia menos
Leia mais
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
AtCoder Regular Contest 033 解説
AtCoder Regular Contest 033 解説
AtCoder Inc.
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
AtCoder Inc.
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Inc.
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
AtCoder Inc.
AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説
AtCoder Inc.
AtCoder Beginner Contest 007 解説
AtCoder Beginner Contest 007 解説
AtCoder Inc.
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
AtCoder Inc.
Recomendados
AtCoder Regular Contest 033 解説
AtCoder Regular Contest 033 解説
AtCoder Inc.
AtCoder Beginner Contest 006 解説
AtCoder Beginner Contest 006 解説
AtCoder Inc.
AtCoder Beginner Contest 010 解説
AtCoder Beginner Contest 010 解説
AtCoder Inc.
AtCoder Regular Contest 031 解説
AtCoder Regular Contest 031 解説
AtCoder Inc.
AtCoder Beginner Contest 004 解説
AtCoder Beginner Contest 004 解説
AtCoder Inc.
AtCoder Beginner Contest 007 解説
AtCoder Beginner Contest 007 解説
AtCoder Inc.
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
Disco Presents ディスカバリーチャンネルプログラミングコンテスト2016 本選 解説
AtCoder Inc.
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Inc.
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
AtCoder Inc.
AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説
AtCoder Inc.
Abc009
Abc009
AtCoder Inc.
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 024 解説
AtCoder Inc.
AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Inc.
AtCoder Beginner Contest 022 解説
AtCoder Beginner Contest 022 解説
AtCoder Inc.
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Inc.
AtCoder Regular Contest 017
AtCoder Regular Contest 017
AtCoder Inc.
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
AtCoder Inc.
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
AtCoder Inc.
Indeedなう A日程 解説
Indeedなう A日程 解説
AtCoder Inc.
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
AtCoder Inc.
AtCoder Beginner Contest 016 解説
AtCoder Beginner Contest 016 解説
AtCoder Inc.
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 019 解説
AtCoder Inc.
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
Mais conteúdo relacionado
Mais procurados
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Inc.
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Inc.
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Inc.
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
AtCoder Inc.
AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説
AtCoder Inc.
Abc009
Abc009
AtCoder Inc.
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 024 解説
AtCoder Inc.
AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
AtCoder Inc.
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Inc.
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Inc.
AtCoder Beginner Contest 022 解説
AtCoder Beginner Contest 022 解説
AtCoder Inc.
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Inc.
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Inc.
AtCoder Regular Contest 017
AtCoder Regular Contest 017
AtCoder Inc.
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
AtCoder Inc.
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
AtCoder Inc.
Indeedなう A日程 解説
Indeedなう A日程 解説
AtCoder Inc.
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
AtCoder Inc.
AtCoder Beginner Contest 016 解説
AtCoder Beginner Contest 016 解説
AtCoder Inc.
Mais procurados
(20)
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 025 解説
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 018 解説
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 035 解説
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 020 解説
AtCoder Beginner Contest 020 解説
Abc009
Abc009
AtCoder Beginner Contest 024 解説
AtCoder Beginner Contest 024 解説
AtCoder Regular Contest 032 解説
AtCoder Regular Contest 032 解説
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 028 解説
AtCoder Beginner Contest 022 解説
AtCoder Beginner Contest 022 解説
AtCoder Beginner Contest 033 解説
AtCoder Beginner Contest 033 解説
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 017
AtCoder Regular Contest 017
AtCoder Beginner Contest 011 解説
AtCoder Beginner Contest 011 解説
Convex Hull Trick
Convex Hull Trick
AtCoder Regular Contest 022 解説
AtCoder Regular Contest 022 解説
Indeedなう A日程 解説
Indeedなう A日程 解説
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 023 解説
AtCoder Beginner Contest 016 解説
AtCoder Beginner Contest 016 解説
Semelhante a CODE FESTIVAL 2015 予選B 解説
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 019 解説
AtCoder Inc.
AtCoder Regular Contest 046
AtCoder Regular Contest 046
AtCoder Inc.
Sec15 dynamic programming
Sec15 dynamic programming
Keisuke OTAKI
CODE THANKS FESTIVAL 2014 A日程 解説
CODE THANKS FESTIVAL 2014 A日程 解説
AtCoder Inc.
AtCoder Beginner Contest 008 解説
AtCoder Beginner Contest 008 解説
AtCoder Inc.
Introduction to programming
Introduction to programming
HCPC: 北海道大学競技プログラミングサークル
2011年11月11日
2011年11月11日
nukaemon
Indeedなう 予選B 解説
Indeedなう 予選B 解説
AtCoder Inc.
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
Algebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすく
Hiromi Ishii
動的計画法を極める!
動的計画法を極める!
HCPC: 北海道大学競技プログラミングサークル
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
AtCoder Inc.
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
京大 マイコンクラブ
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
Hiroki Mizukami
普通のコードがCodeGolfコードになるまで in Ruby
普通のコードがCodeGolfコードになるまで in Ruby
Akito Sano
140628理論談話会
140628理論談話会
Daisuke Yoshino
130323 slide all
130323 slide all
ikea0064
Semelhante a CODE FESTIVAL 2015 予選B 解説
(20)
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 019 解説
AtCoder Regular Contest 046
AtCoder Regular Contest 046
Sec15 dynamic programming
Sec15 dynamic programming
CODE THANKS FESTIVAL 2014 A日程 解説
CODE THANKS FESTIVAL 2014 A日程 解説
AtCoder Beginner Contest 008 解説
AtCoder Beginner Contest 008 解説
Introduction to programming
Introduction to programming
2011年11月11日
2011年11月11日
Indeedなう 予選B 解説
Indeedなう 予選B 解説
暗号技術の実装と数学
暗号技術の実装と数学
暗認本読書会13 advanced
暗認本読書会13 advanced
Algebraic DP: 動的計画法を書きやすく
Algebraic DP: 動的計画法を書きやすく
動的計画法を極める!
動的計画法を極める!
CODE FESTIVAL 2014 本選 解説
CODE FESTIVAL 2014 本選 解説
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
実用Brainf*ckプログラミング
実用Brainf*ckプログラミング
自然言語処理のための機械学習入門1章
自然言語処理のための機械学習入門1章
普通のコードがCodeGolfコードになるまで in Ruby
普通のコードがCodeGolfコードになるまで in Ruby
140628理論談話会
140628理論談話会
130323 slide all
130323 slide all
Mais de AtCoder Inc.
TCO2017R1
TCO2017R1
AtCoder Inc.
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
AtCoder Inc.
Square869120 contest #2
Square869120 contest #2
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.
DDPC 2016 予選 解説
DDPC 2016 予選 解説
AtCoder Inc.
arc047
arc047
AtCoder Inc.
abc032
abc032
AtCoder Inc.
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
AtCoder Inc.
abc031
abc031
AtCoder Inc.
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
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 Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Inc.
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
AtCoder Inc.
天下一プログラマーコンテスト2015 予選B 解説
天下一プログラマーコンテスト2015 予選B 解説
AtCoder Inc.
AtCoder Regular Contest 043 解説
AtCoder Regular Contest 043 解説
AtCoder Inc.
Mais de AtCoder Inc.
(20)
TCO2017R1
TCO2017R1
AtCoderに毎回参加したくなる仕組み
AtCoderに毎回参加したくなる仕組み
Square869120 contest #2
Square869120 contest #2
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 解説
DDPC 2016 予選 解説
DDPC 2016 予選 解説
arc047
arc047
abc032
abc032
CODE FESTIVAL 2015 沖縄ツアー 解説
CODE FESTIVAL 2015 沖縄ツアー 解説
abc031
abc031
CODE FESTIVAL 2015 解説
CODE FESTIVAL 2015 解説
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 Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Regular Contest 044 解説
AtCoder Regular Contest 044 解説
天下一プログラマーコンテスト2015 予選B 解説
天下一プログラマーコンテスト2015 予選B 解説
AtCoder Regular Contest 043 解説
AtCoder Regular Contest 043 解説
Último
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
yukisuga3
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
yuitoakatsukijp
Último
(6)
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
CODE FESTIVAL 2015 予選B 解説
1.
CODE FESTIVAL 2015
予選B 解説 AtCoder株式会社 代表取締役 高橋 直大 2015/10/25 1
2.
A問題 解説 「ダブル⽂文字列列」 CODE FESTIVAL
2015 予選B
3.
問題概要 • “2015/10/25” のように、各⽂文字が2度度ずつ現れる⽂文字 列列を「ダブル⽂文字列列」と呼ぶことにする •
⼩小⽂文字アルファベットからなる⽂文字列列 S が与えられる • S に含まれる⽂文字を全て含むダブル⽂文字列列を1つ出⼒力力し なさい • 例例 – “no” → “noon”(“onno”, “lemonmelon” なども可) – “meat” → “teammate”
4.
解法1 • ⽂文字列列 S
を、標準⼊入⼒力力から⼊入⼒力力する • ⽂文字列列 S を2回標準出⼒力力に出⼒力力する • 例例 – “no” → “nono” – “meat” → “meatmeat” – “z” → “zz” • 注意点 – 2回の出⼒力力の間にスペースや改⾏行行などを⼊入れないこと – 末尾に改⾏行行を出⼒力力するのを忘れないこと
5.
解法2 • ⼊入⼒力力が何であろうと 全ての⼩小⽂文字アルファベットを2回ずつ出⼒力力する • 例例 –
“no” → “aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz” – “meat” → “aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz” • 注意点 – 抜けた⽂文字や、3回以上現れる⽂文字がないようにすること – プログラムを書いて⽂文字列列を⽣生成するとより安全
6.
B問題 解説 「採点」 CODE FESTIVAL
2015 予選B
7.
問題概要 • N 人の答えの採点をする •
それぞれの人の答えは 0 以上 M 以下の整数 • 正解を忘れてしまった • 過半数の人が同じ答えならそれを正解とする • 正解を決められるなら正解を、決められないなら「?」 を出力せよ • 制約 – 1 ≦ N ≦ 105 – 1 ≦ M ≦ 105
8.
40点解法 • 部分点制約 – N
≦ 100, M ≦ 100 • 解法 – 0 から M まで正解を仮定する – 過半数の人が正解を答えているか調べる • 計算量 – O(NM)
9.
満点解法 • 解法 – M+1
要素の配列を用意し、それぞれの答えが何回答えられたか を数える – それぞれの答えが過半数かを調べる • 計算量 – O(N+M)
10.
C問題 解説 「旅館」 CODE FESTIVAL
2015 予選B
11.
問題概要 • N 部屋の旅館を経営している –
それぞれの部屋の定員は Ai 人 • M 組の予約がある – それぞれの予約の人数は Bi 人 • ひとつの予約にひとつの部屋を割り当てる • 定員が予約人数を下回ってはならない • すべての予約に部屋を割り当てられるか判定せよ • 制約 – 1 ≦ N ≦ 105 – 1 ≦ M ≦ 105 – 1 ≦ Ai ≦ 105 – 1 ≦ Bi ≦ 105
12.
60点解法 • 部分点制約 – N
≦ 100, M ≦ 100 • 解法 – 一番人数の多い予約に一番定員の多い部屋を割り当てればよい • それより人数の少ない予約に割り当てて大丈夫なら、一番人数の多 い予約と交換しても大丈夫 – 予約人数の多い順に、大きい部屋を割り当てる • 計算量 – O((N+M)M)
13.
満点解法 • 解法 – 部分点解法で、先にソートしておく •
計算量 – O(N log N + M log M)
14.
D問題 解説 「マスと駒と⾊色塗り」 CODE FESTIVAL
2015 予選B
15.
問題概要 • ⽩白いマスがたくさん並んでいる • N
個の駒がある • N 回の操作を⾏行行い、i 回⽬目の操作では、 – 駒 i をマス Si に置く – 「駒 i のあるマスが⽩白なら塗り、⿊黒なら次のマスに駒を移動」 を繰り返し、新たに塗ったマスが Ci 個になったら終了了 • という操作を⾏行行う • 操作終了了後の各駒の位置を求めよ • 制約 – 1 ≦ N ≦ 105 – 1 ≦ Si ≦ 109 – 1 ≦ Ci ≦ 109
16.
35点解法 • 部分点制約 – 操作終了了後に駒のあるマスの番号は
105 を超えない • マスを塗る回数の合計は 105 回以下となる • 解法 – 駒の動かし⽅方を、 • 今のマスから右にある最も近い⽩白マスに移動して⿊黒く塗る – と考えてシミュレーションを⾏行行う – 「最も近い⽩白マス」を⾼高速に⾒見見つけられれば良良い – 以下のような、いくつかの⽅方法がある • setで⽩白マスの場所を管理理しておき、lower_̲boundで「番号が x 以 上のうち最も⼩小さいもの」を⾒見見つける(c++) • 上の⽅方法で、setの代わりに RMQ(Range Minimum Query)に 対応した segtree を⽤用いる • 次のページに⽰示したような⽅方法を使う
17.
35点解法 • 以下のようなコードでも 35
点を得ることができる import sys sys.setrecursionlimit(1024*1024) N = int(raw_input()) state = [-‐1] * 100001 def find_next(i): if d[i] == -‐1: return i d[i] = find_next(d[i]) return d[i] for i in xrange(N): s,c = map(int,raw_input().split()) for j in xrange(c): s = find_next(s) d[s] = s+1 print s ※ ⾔言語はpythonです ← 再帰の深さ制限の対策 ← 「最も近い⽩白マス」を ⾒見見つける関数 ← シミュレーションを⾏行行って 答えを求めるループ
18.
35点解法 • 「最も近い⽩白マス」を⾒見見つける関数について • d[i]
が -‐‑‒1 のとき、マス i が⽩白であることを表します • そうでないときは、マス i よりも右でかつ、「最も近い ⽩白マス」よりも右でないマスの番号を表します – そのままでは再帰の呼び出し回数が膨⼤大でTLEしてしまいます – そこで、d[i] = find_next(d[i]) というように⾼高速化します • Union-‐Find ⽊木の⾼高速化と同様の⼿手法 • ならし計算量量は O(log(N)) となります • Union-‐Find ⽊木を⽤用いていると考えても良良いです def find_next(i): if d[i] == -‐1: return i d[i] = find_next(d[i]) return d[i]
19.
40点解法 • 部分点制約 – N
≦ 1000 • 解法 – ⿊黒く塗った区間を管理理する – 以下をそれぞれ O(区間の個数) で求められる • あるマスから右にある最も近い⽩白マス • あるマスから右にある最も近い⿊黒マス – このような区間への質問を解説上では「RQ」と呼ぶことにする – ただし、隣隣り合った2つの区間は併合しておくこと • 計算量量 – 1回の操作での区間の個数の増減は、定数 -‐‑‒ RQの回数 – Σ(定数 – 各操作でのRQの回数) = 最終的な区間の個数 > 0 – つまり、RQ の回数の合計 < 定数*N となる – 計算量量は RQの回数*RQの計算量量 = O(N^2) となる
20.
満点解法 • 解法 – ⿊黒く塗った区間を管理理する⽅方法を⼯工夫する –
例例えば、c++のsetを⽤用いる – RQ がO(log 区間の個数) で⾏行行うことができるようになる • 計算量量 – O(N log N) • 区間ではなく、⽩白と⿊黒が⼊入れ替わる場所を管理理すると、 少し実装が楽になります
21.
満点解法(別解) • 問題を⾔言い換える – タスクが
N 個ある – タスク i は時刻 Si から始める – タスク i には全部で Ci の時間がかかる – タスク i の重要度度は i である(⼩小さい⽅方が重要) – 各時点では、現在のタスクのうち最も重要なタスクを⾏行行う – 各タスクの終了了時刻を求めよ • 解法 – 各時点でのタスクについて (重要度度, 残り時間) を優先順位付き キューで管理理してシミュレーションする • 計算量量 – O(N log N)
Baixar agora