SlideShare a Scribd company logo
解説:貢物
技術室奥プログラミングコンテスト#2 問題G
問題概要
ある品物をささげるか否かを真偽値変数としたとき
に𝑎 ∧ bの形の論理式がいっぱい与えられえる
それらをandで結合しながらまとめていく
まとめるそれぞれの段階で、正しい真偽値割り当て
が存在するか判定せよ
考察
𝑎 ∧ 𝑏は、 𝑎 ∨ 𝑏と表せる。
これをandでつなぐのだから、これは2SAT
2SATは線形時間で解ける(これはここでは解説しませ
ん)
考察
しかし、毎回2SATを解いていては、最悪O(M^2)に
なる。
部分点15点
満点のためにもっと考察が必要
考察
合併の様子を、以下の図の木のように表してみる
3,4,2,6,1,7,5
3,4,2 6,1,7,5
3,4 2
3 4
6,1,7 5
6 1,7
1 7
ここで、1番上のノードで、左から何番目までの村
の掟なら守れるか、を二分探索で調べる。
考察
3,4,2,6,1,7,5
3,4,2 6,1,7,5
3,4 2
3 4
6,1,7 5
6 1,7
1 7
たとえば、3,4,2,6,1で可能だったとすると、
赤く塗られた部分は計算しなくても、掟を守ること
ができるとわかる。
考察
3,4,2,6,1,7,5
3,4,2 6,1,7,5
3,4 2
3 4
6,1,7 5
6 1,7
1 7
考察
では、次のような場合において、赤い部分だけが可
能であるとわかった場合は?
・
・
・
・
・
・
・
・
・
・
・
・
考察
では、次のような場合において、赤い部分だけが可
能であるとわかった場合は?
→青いバツ印のついた部分が不可能とわかる。
・
・
・
・
・
・
・
・
・
・
・
・
考察
結局、どのような結果でも、左の方にだけ下って
行った場所にあるノードの判定がまとめて行える。
つまり、全体で処理すべき場所は、一番上と、右の
子になっているノードだけ。
考察
先ほどの木を作る際に、右の子の大きさが左の子の
大きさを超えないようにしておくと、データ構造を
マージする一般的テクみたいな感じで、処理する
ノードの大きさの合計が、O(MlogM)になる。
それぞれで二分探索するから、全体でO(Mlog^2M)
おしまい

More Related Content

What's hot

Casual learning machine learning with_excel_no3
Casual learning machine learning with_excel_no3Casual learning machine learning with_excel_no3
Casual learning machine learning with_excel_no3
KazuhiroSato8
 
Casual learning machine learning with_excel_no2
Casual learning machine learning with_excel_no2Casual learning machine learning with_excel_no2
Casual learning machine learning with_excel_no2
KazuhiroSato8
 
グラフデータ構造と5色定理
グラフデータ構造と5色定理グラフデータ構造と5色定理
グラフデータ構造と5色定理
Yoshihiro Mizoguchi
 
第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義
MathCafe
 

What's hot (6)

Casual learning machine learning with_excel_no3
Casual learning machine learning with_excel_no3Casual learning machine learning with_excel_no3
Casual learning machine learning with_excel_no3
 
Za atsu-20170328
Za atsu-20170328Za atsu-20170328
Za atsu-20170328
 
Aizu-2017: B
Aizu-2017: BAizu-2017: B
Aizu-2017: B
 
Casual learning machine learning with_excel_no2
Casual learning machine learning with_excel_no2Casual learning machine learning with_excel_no2
Casual learning machine learning with_excel_no2
 
グラフデータ構造と5色定理
グラフデータ構造と5色定理グラフデータ構造と5色定理
グラフデータ構造と5色定理
 
第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義第33回数学カフェ予習会#1 線形空間・射影空間の定義
第33回数学カフェ予習会#1 線形空間・射影空間の定義
 

Viewers also liked

F - NPCの家
F - NPCの家F - NPCの家
F - NPCの家
gotoloop
 
解説:デバッグ
解説:デバッグ解説:デバッグ
解説:デバッグ
理玖 川崎
 
解説:ボス
解説:ボス解説:ボス
解説:ボス
理玖 川崎
 
J - 次の仕事
J - 次の仕事J - 次の仕事
J - 次の仕事
gotoloop
 
解説:歩くNPCたち
解説:歩くNPCたち解説:歩くNPCたち
解説:歩くNPCたち
理玖 川崎
 
線形識別によるパターン認識
線形識別によるパターン認識線形識別によるパターン認識
線形識別によるパターン認識
理玖 川崎
 
Square869120 contest #2
Square869120 contest #2Square869120 contest #2
Square869120 contest #2
AtCoder Inc.
 
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
AtCoder Inc.
 

Viewers also liked (8)

F - NPCの家
F - NPCの家F - NPCの家
F - NPCの家
 
解説:デバッグ
解説:デバッグ解説:デバッグ
解説:デバッグ
 
解説:ボス
解説:ボス解説:ボス
解説:ボス
 
J - 次の仕事
J - 次の仕事J - 次の仕事
J - 次の仕事
 
解説:歩くNPCたち
解説:歩くNPCたち解説:歩くNPCたち
解説:歩くNPCたち
 
線形識別によるパターン認識
線形識別によるパターン認識線形識別によるパターン認識
線形識別によるパターン認識
 
Square869120 contest #2
Square869120 contest #2Square869120 contest #2
Square869120 contest #2
 
AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説AtCoder Beginner Contest 021 解説
AtCoder Beginner Contest 021 解説
 

More from 理玖 川崎

RNNで頑張ろう
RNNで頑張ろうRNNで頑張ろう
RNNで頑張ろう
理玖 川崎
 
カードの取り合い
カードの取り合いカードの取り合い
カードの取り合い
理玖 川崎
 
石油
石油石油
釣り
釣り釣り
区間和剰余クエリ
区間和剰余クエリ区間和剰余クエリ
区間和剰余クエリ
理玖 川崎
 
ユークリッド最小全域木
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木
理玖 川崎
 
解説:エンブレム
解説:エンブレム解説:エンブレム
解説:エンブレム
理玖 川崎
 
解説:サポーター
解説:サポーター解説:サポーター
解説:サポーター
理玖 川崎
 
解説:おおきな数を作った
解説:おおきな数を作った解説:おおきな数を作った
解説:おおきな数を作った
理玖 川崎
 
解説:吹奏楽部
解説:吹奏楽部解説:吹奏楽部
解説:吹奏楽部
理玖 川崎
 
WAVE_WITH_GLSL
WAVE_WITH_GLSLWAVE_WITH_GLSL
WAVE_WITH_GLSL
理玖 川崎
 

More from 理玖 川崎 (11)

RNNで頑張ろう
RNNで頑張ろうRNNで頑張ろう
RNNで頑張ろう
 
カードの取り合い
カードの取り合いカードの取り合い
カードの取り合い
 
石油
石油石油
石油
 
釣り
釣り釣り
釣り
 
区間和剰余クエリ
区間和剰余クエリ区間和剰余クエリ
区間和剰余クエリ
 
ユークリッド最小全域木
ユークリッド最小全域木ユークリッド最小全域木
ユークリッド最小全域木
 
解説:エンブレム
解説:エンブレム解説:エンブレム
解説:エンブレム
 
解説:サポーター
解説:サポーター解説:サポーター
解説:サポーター
 
解説:おおきな数を作った
解説:おおきな数を作った解説:おおきな数を作った
解説:おおきな数を作った
 
解説:吹奏楽部
解説:吹奏楽部解説:吹奏楽部
解説:吹奏楽部
 
WAVE_WITH_GLSL
WAVE_WITH_GLSLWAVE_WITH_GLSL
WAVE_WITH_GLSL
 

Recently uploaded

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
ooishi1
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 

Recently uploaded (6)

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 

解説:貢物