Submit Search
Upload
ACPC 2019 Day3 G: Restricted DFS
•
0 likes
•
465 views
HCPC: 北海道大学競技プログラミングサークル
Follow
2019/9/20 会津大学競技プログラミング合宿 Day3 (北大セット) G 問題 ※文字が見えない場合は、ダウンロードするかフルスクリーンにしてご覧ください
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
HCPC: 北海道大学競技プログラミングサークル
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Inc.
Arc015途中まで解説
Arc015途中まで解説
AtCoder Inc.
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Inc.
圏図解
圏図解
minfuk
立命合宿2016Day3:G問題
立命合宿2016Day3:G問題
HCPC: 北海道大学競技プログラミングサークル
曲線について
曲線について
amusementcreators
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Inc.
Recommended
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
HCPC: 北海道大学競技プログラミングサークル
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
AtCoder Inc.
Arc015途中まで解説
Arc015途中まで解説
AtCoder Inc.
AtCoder Beginner Contest 029 解説
AtCoder Beginner Contest 029 解説
AtCoder Inc.
圏図解
圏図解
minfuk
立命合宿2016Day3:G問題
立命合宿2016Day3:G問題
HCPC: 北海道大学競技プログラミングサークル
曲線について
曲線について
amusementcreators
AtCoder Regular Contest 026 解説
AtCoder Regular Contest 026 解説
AtCoder Inc.
写像 12 相
写像 12 相
HCPC: 北海道大学競技プログラミングサークル
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
HCPC: 北海道大学競技プログラミングサークル
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
HCPC: 北海道大学競技プログラミングサークル
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
HCPC: 北海道大学競技プログラミングサークル
RUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts Orientation
HCPC: 北海道大学競技プログラミングサークル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
More Related Content
More from HCPC: 北海道大学競技プログラミングサークル
写像 12 相
写像 12 相
HCPC: 北海道大学競技プログラミングサークル
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
HCPC: 北海道大学競技プログラミングサークル
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
HCPC: 北海道大学競技プログラミングサークル
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
HCPC: 北海道大学競技プログラミングサークル
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
HCPC: 北海道大学競技プログラミングサークル
Convex Hull Trick
Convex Hull Trick
HCPC: 北海道大学競技プログラミングサークル
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
HCPC: 北海道大学競技プログラミングサークル
RUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts Orientation
HCPC: 北海道大学競技プログラミングサークル
More from HCPC: 北海道大学競技プログラミングサークル
(20)
写像 12 相
写像 12 相
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
Convex Hull Trick
Convex Hull Trick
プログラミングコンテスト基礎テクニック
プログラミングコンテスト基礎テクニック
RUPC 2019 Day3 G: Donuts Orientation
RUPC 2019 Day3 G: Donuts Orientation
Recently uploaded
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Recently uploaded
(7)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
ACPC 2019 Day3 G: Restricted DFS
1.
会津合宿 2019 Day3
G 問題 Restricted DFS 原案: tsutaj 問題文: tsutaj 解答: tsutaj・rsk0315 解説: tsutaj 2019 年 9 月 20 日 tsutaj ACPC 2019 Day3 G 2019/9/20 1 / 13
2.
問題 Restricted DFS ▶ 木が与えられ、それぞれの頂点
i には整数 Ai が定められている ▶ 頂点 i から DFS することを考える ▶ 頂点番号が若い順に子を見る ▶ ある頂点を訪れようとする際に Ai の値が 0 になっていれば、そこで DFS 打ち切り ▶ Ai が正ならば、その頂点を訪れ Ai をデクリメントし、次の探索に進む ▶ それぞれの頂点から DFS をはじめたときのステップ数を求める 制約 ▶ 1 ≤ N ≤ 2 × 105 ▶ 0 ≤ Ai ≤ 109 tsutaj ACPC 2019 Day3 G 2019/9/20 2 / 13
3.
想定誤解法 ▶ 普通に毎回 DFS
をする ▶ 1 回の DFS に O(N) かかり、それを各頂点に関してやるので・・・ ▶ O(N2 ) かかり間に合わない ▶ なんらかの形で値を再利用しないと間に合わなさそう tsutaj ACPC 2019 Day3 G 2019/9/20 3 / 13
4.
想定解法 想定解法: 全方位木 DP ▶
最初に適当な頂点を根とし、各頂点について以下を求める ▶ v1 : その頂点を根とする部分木でかかるステップ数 ▶ v2 : その頂点から DFS をスタートして、途中で探索が失敗するか ▶ v1 と v2 の更新に気をつけて、rerooting 次に例を示します tsutaj ACPC 2019 Day3 G 2019/9/20 4 / 13
5.
想定解法 以下のような木があったとする 赤文字は各頂点に割り当てられた Ai の値を表す 3 5 2
1 2 1 1 3 tsutaj ACPC 2019 Day3 G 2019/9/20 5 / 13
6.
想定解法 それぞれの頂点について v1 を求める
(青文字) 3 5 2 1 2 1 1 3 10 5 1 1 1 1 2 3 tsutaj ACPC 2019 Day3 G 2019/9/20 6 / 13
7.
想定解法 さらに v2 も求める
(黒で塗ったものが、v2 が true である頂点) ▶ 子が m 個あるような頂点は m + 1 回デクリメントされるため、 Ai < m + 1 となる頂点は true となる ▶ 自分の子であって v2 が true となる頂点があるとき、自分自身に戻っ てこれないため true となる 3 5 2 1 2 1 1 3 10 5 1 1 1 1 2 3 tsutaj ACPC 2019 Day3 G 2019/9/20 7 / 13
8.
想定解法 これで根が r であるときの答えは得られた 根を
c に変えた時の答えはどう得られるか? 3 5 2 1 2 1 1 3 10 5 1 1 1 1 2 3 r c tsutaj ACPC 2019 Day3 G 2019/9/20 8 / 13
9.
想定解法 以下の順に処理! 1. c 以下の部分木を無視した状態で
r について v1, v2 を再計算 2. c に r 以下の部分木が繋がったとして、c について v1, v2 を再計算 3 5 2 1 2 1 1 3 10 5 1 1 1 1 2 3 r c tsutaj ACPC 2019 Day3 G 2019/9/20 9 / 13
10.
想定解法 1. の操作はこういうイメージ 3 5 2 1 2 1 1
3 10 5 1 1 1 1 2 3 r7 tsutaj ACPC 2019 Day3 G 2019/9/20 10 / 13
11.
想定解法 2. の操作はこういうイメージ 3 5 2 1 2 1 1
3 7 5 1 1 1 1 2 3 r c11 tsutaj ACPC 2019 Day3 G 2019/9/20 11 / 13
12.
想定解法 ▶ v1, v2
の更新は区間和が扱えるデータ構造 (SegmentTree など) を使 いながらやるとできます ▶ 自分と辺で直接接続している頂点の vector を、頂点番号の昇順に持つ ▶ 自分の親である頂点を無視する必要があるが、v1 = 0, v2 = false とし て扱うと若干処理しやすいかも? ▶ それぞれの rerooting に O(log N) かかるため、全体で O(N log N) で解けます その他 ▶ 工夫次第だと思いますが、実装はだいぶ重いと思います ▶ 抽象化された全方位木 DP ライブラリは使えるのでしょうか? 今回の 問題において左・右の累積でどうにかする戦略はおそらく使えないの で、きびしいだろうと思っていました tsutaj ACPC 2019 Day3 G 2019/9/20 12 / 13
13.
Writer 解・統計 ▶ Tester
解 ▶ tsutaj (C++・241 行・8013 bytes) ▶ rsk0315 (C++・376 行・10979 bytes) ▶ 統計 ▶ AC / tried: 2 / 9 (22.2 %) ▶ First AC ▶ On-site: ACPC_sakenichia (165 min 27 sec) ▶ On-line: lyrically (123 min 1 sec) tsutaj ACPC 2019 Day3 G 2019/9/20 13 / 13
Download now