SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
会津合宿 2018 Day3 F 問題
01 文字列と窓 (Binary String with Slit)
原案: tsutaj
問題文: TAB
解答: tsutaj・rsk0315・tsukasa_diary
解説: tsutaj
2018 年 9 月 21 日
tsutaj ACPC 2018 Day3 F 2018/9/21 1 / 12
問題
01 文字列と窓 (Binary String with Slit)
01 文字列 S に対する操作 1 回分を以下で定義
S を 2 進数として見た時の LSB を含むように幅 2 のスリットを置く
スリット内の数値を +1 するか -1 する
ただし、1 ≤ 変更後のスリット内の数値 ≤ 3
01 文字列 Si を Ti に変えるための操作回数の最小値を求める
このようなクエリが Q 回来るので処理する
制約
1 ≤ Q ≤ 105
2 ≤ |Si| = |Ti| ≤ 50
Si, Ti は 0 と 1 のみからなる
Si, Ti はともに 1 を少なくとも 1 つ含む
tsutaj ACPC 2018 Day3 F 2018/9/21 2 / 12
想定誤解法
以下、N は文字列の長さとする
BFS などで毎回求める
クエリ 1 回につきオーダーが O(2N
) だし、それを 105
回やることが要
求されているし、まず無理
全点対最短経路問題
グラフの頂点数を M とすると O(M3
) かかり、この問題において頂点
は 2N
個存在するのだから、この問題においては O(2N3
) かかる。まず
無理
tsutaj ACPC 2018 Day3 F 2018/9/21 3 / 12
アプローチ
この問題は気づけば一瞬です
スリット内の数値の Before / After を考えよう
パターンはかなり少ない (たった 4 通り)
 10 → 01
10 → 11
! 11 → 10
 01 → 10
各 01 文字列を頂点と見なし、1 回の操作で到達できるもの同士に辺を
張ってグラフを作ってみよう
tsutaj ACPC 2018 Day3 F 2018/9/21 4 / 12
アプローチ
こんな感じになるが・・・もう少し綺麗に書いてみよう
tsutaj ACPC 2018 Day3 F 2018/9/21 5 / 12
アプローチ
整形すると、このように完全二分木 (それぞれの辺は相互に移動可能) に
なる
tsutaj ACPC 2018 Day3 F 2018/9/21 6 / 12
遷移
遷移 (1)
tsutaj ACPC 2018 Day3 F 2018/9/21 7 / 12
遷移
遷移 (2)
tsutaj ACPC 2018 Day3 F 2018/9/21 8 / 12
遷移
遷移 (3)
tsutaj ACPC 2018 Day3 F 2018/9/21 9 / 12
遷移
遷移 (4)
tsutaj ACPC 2018 Day3 F 2018/9/21 10 / 12
遷移
クエリに答えるときは、以下のように Si と Ti の LCA を求め、パス
の長さを求めれば良い
木が大きすぎてダブリングで LCA を求めることはできないが、木が平
衡なので高さは高々 50 程度
つまりパスの長さは高々 100 程度なので愚直に求めても間に合う
Q = 105 でもこれなら余裕
tsutaj ACPC 2018 Day3 F 2018/9/21 11 / 12
Writer 解・統計
Writer 解
tsutaj (C++・43 行・954 bytes)
rsk0315 (C++・29 行・513 bytes)
tsukasa_diary (C++・37 行・687 bytes)
統計
AC / tried: 14 / 36 (38.9 %)
First AC
On-site: acpc_Fixstars (69 min)
On-line: LLma (93 min)
tsutaj ACPC 2018 Day3 F 2018/9/21 12 / 12

Weitere ähnliche Inhalte

Was ist angesagt?

Cube
CubeCube
Cube
oupc
 
RUPC2014_Day2_C
RUPC2014_Day2_CRUPC2014_Day2_C
RUPC2014_Day2_C
s1190048
 

Was ist angesagt? (16)

Cube
CubeCube
Cube
 
文字列処理
文字列処理文字列処理
文字列処理
 
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
 
Lisper はじめました (再)
Lisper はじめました (再)Lisper はじめました (再)
Lisper はじめました (再)
 
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data MatricesScalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices
 
DDPC 2016 予選 解説
DDPC 2016 予選 解説DDPC 2016 予選 解説
DDPC 2016 予選 解説
 
Lisperはじめました
LisperはじめましたLisperはじめました
Lisperはじめました
 
Schönhage Strassen Algorithm
Schönhage Strassen AlgorithmSchönhage Strassen Algorithm
Schönhage Strassen Algorithm
 
Quantum computer adder
Quantum computer adderQuantum computer adder
Quantum computer adder
 
CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説CODE FESTIVAL 2015 予選B 解説
CODE FESTIVAL 2015 予選B 解説
 
RUPC2014_Day2_C
RUPC2014_Day2_CRUPC2014_Day2_C
RUPC2014_Day2_C
 
kagamicomput201806
kagamicomput201806kagamicomput201806
kagamicomput201806
 
kagamicomput201707
kagamicomput201707kagamicomput201707
kagamicomput201707
 
AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説AtCoder Regular Contest 045 解説
AtCoder Regular Contest 045 解説
 
20181214 clebsch gordan_mizuta
20181214 clebsch gordan_mizuta20181214 clebsch gordan_mizuta
20181214 clebsch gordan_mizuta
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
 

Mehr von HCPC: 北海道大学競技プログラミングサークル

Mehr von HCPC: 北海道大学競技プログラミングサークル (20)

写像 12 相
写像 12 相写像 12 相
写像 12 相
 
ACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しいACPC 2017 Day3 F: 掛け算は楽しい
ACPC 2017 Day3 F: 掛け算は楽しい
 
ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断ACPC 2017 Day3 D: 優柔不断
ACPC 2017 Day3 D: 優柔不断
 
ACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFSACPC 2019 Day3 G: Restricted DFS
ACPC 2019 Day3 G: Restricted DFS
 
ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解ACPC 2019 Day3 F: 部分文字列分解
ACPC 2019 Day3 F: 部分文字列分解
 
ACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取りACPC 2019 Day3 E: 総和の切り取り
ACPC 2019 Day3 E: 総和の切り取り
 
ACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェACPC 2019 Day3 B: パフェ
ACPC 2019 Day3 B: パフェ
 
ACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探しACPC 2019 Day3 A: 間違い探し
ACPC 2019 Day3 A: 間違い探し
 
HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木HUPC 2019 Day2 G: 木
HUPC 2019 Day2 G: 木
 
HUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャムHUPC 2019 Day2 E: ジャム
HUPC 2019 Day2 E: ジャム
 
HUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMGHUPC 2019 Day2 H: Revenge of UMG
HUPC 2019 Day2 H: Revenge of UMG
 
HUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD RushHUPC 2019 Day2 F: MOD Rush
HUPC 2019 Day2 F: MOD Rush
 
HUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺しHUPC 2019 Day2 C: 串刺し
HUPC 2019 Day2 C: 串刺し
 
HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号HUPC 2019 Day1 F: グリッドの番号
HUPC 2019 Day1 F: グリッドの番号
 
HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元HUPC 2019 Day1 E: 最短経路の復元
HUPC 2019 Day1 E: 最短経路の復元
 
HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?HUPC 2019 Day1 D: 貪欲が最適?
HUPC 2019 Day1 D: 貪欲が最適?
 
HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価HUPC 2019 Day1 C: 短絡評価
HUPC 2019 Day1 C: 短絡評価
 
HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍HUPC 2019 Day1 B: 自身の 2 倍
HUPC 2019 Day1 B: 自身の 2 倍
 
HUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four teaHUPC 2019 Day1 A: four tea
HUPC 2019 Day1 A: four tea
 
Convex Hull Trick
Convex Hull TrickConvex Hull Trick
Convex Hull Trick
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

ACPC 2018 Day3 F: 01 文字列と窓 (Binary String with Slit)