Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
oupc
428 views
Sharp2sat
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 14
2
/ 14
3
/ 14
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
9
/ 14
10
/ 14
11
/ 14
12
/ 14
13
/ 14
14
/ 14
More Related Content
PPTX
【材料力学】変断面棒の伸び
by
Kazuhiro Suga
PDF
単調増加と階数
by
政孝 鍋島
PPTX
単調増加と階数
by
nabeshimamasataka
PPTX
単調増加と階乗
by
政孝 鍋島
PDF
Permutation
by
oupc
PDF
RUPC2017:M問題
by
Takumi Yamashita
PDF
Donutsプロコンチャレンジ 2015 解説
by
kuno4n
PDF
Donuts プロコンチャレンジ2014
by
kuno4n
【材料力学】変断面棒の伸び
by
Kazuhiro Suga
単調増加と階数
by
政孝 鍋島
単調増加と階数
by
nabeshimamasataka
単調増加と階乗
by
政孝 鍋島
Permutation
by
oupc
RUPC2017:M問題
by
Takumi Yamashita
Donutsプロコンチャレンジ 2015 解説
by
kuno4n
Donuts プロコンチャレンジ2014
by
kuno4n
What's hot
PDF
確率的主成分分析
by
Mika Yoshimura
PDF
ZDD入門-お姉さんを救う方法
by
nishio
PDF
PRML§12-連続潜在変数
by
Keisuke OTAKI
PDF
統計概論 isseing333
by
Issei Kurahashi
PPTX
【材料力学】主応力と主せん断応力 (II-09-2 2020)
by
Kazuhiro Suga
PPTX
【材料力学】3次元空間の応力 (II-07-1 2020)
by
Kazuhiro Suga
PPTX
【材料力学】モールの応力円 (II-12 2018)
by
Kazuhiro Suga
PDF
Trip
by
oupc
PDF
ダイクストラ法
by
ohsofty
PDF
Study session#3
by
恵太 水野
PDF
Study session#3
by
恵太 水野
PDF
E : 解説
by
Takumi Yamashita
PDF
Mastermind
by
tomerun
PDF
【Unityインターハイ2018】「PERVERSE」プレゼン資料
by
UnityInterHigh
PPTX
【材料力学】3次元空間の応力 (II-09 2018)
by
Kazuhiro Suga
PPTX
Atcoder Regular Contest 014 解説
by
光喜 濱屋
PDF
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
by
Yuto Takei
PPTX
At coder regular contest 013 解説
by
光喜 濱屋
PDF
スペクトラル・クラスタリング
by
Akira Miyazawa
確率的主成分分析
by
Mika Yoshimura
ZDD入門-お姉さんを救う方法
by
nishio
PRML§12-連続潜在変数
by
Keisuke OTAKI
統計概論 isseing333
by
Issei Kurahashi
【材料力学】主応力と主せん断応力 (II-09-2 2020)
by
Kazuhiro Suga
【材料力学】3次元空間の応力 (II-07-1 2020)
by
Kazuhiro Suga
【材料力学】モールの応力円 (II-12 2018)
by
Kazuhiro Suga
Trip
by
oupc
ダイクストラ法
by
ohsofty
Study session#3
by
恵太 水野
Study session#3
by
恵太 水野
E : 解説
by
Takumi Yamashita
Mastermind
by
tomerun
【Unityインターハイ2018】「PERVERSE」プレゼン資料
by
UnityInterHigh
【材料力学】3次元空間の応力 (II-09 2018)
by
Kazuhiro Suga
Atcoder Regular Contest 014 解説
by
光喜 濱屋
[Basic 14] 暗号について / RSA 暗号 / 楕円曲線暗号
by
Yuto Takei
At coder regular contest 013 解説
by
光喜 濱屋
スペクトラル・クラスタリング
by
Akira Miyazawa
Viewers also liked
PDF
Paren
by
oupc
PDF
Palin
by
oupc
PDF
Kth
by
oupc
PDF
Rmq
by
oupc
PDF
Comment
by
oupc
PDF
Sort
by
oupc
PDF
One
by
oupc
PDF
Gcd
by
oupc
PDF
Goto
by
oupc
PDF
Magical
by
oupc
PDF
1
by
oupc
PDF
Replace
by
oupc
PDF
Cube
by
oupc
PDF
Segpair
by
oupc
PDF
Sanpo
by
oupc
PDF
指数時間アルゴリズム入門
by
Yoichi Iwata
Paren
by
oupc
Palin
by
oupc
Kth
by
oupc
Rmq
by
oupc
Comment
by
oupc
Sort
by
oupc
One
by
oupc
Gcd
by
oupc
Goto
by
oupc
Magical
by
oupc
1
by
oupc
Replace
by
oupc
Cube
by
oupc
Segpair
by
oupc
Sanpo
by
oupc
指数時間アルゴリズム入門
by
Yoichi Iwata
Similar to Sharp2sat
PDF
U・N・C・O
by
tomerun
PDF
AtCoder Regular Contest 026 解説
by
AtCoder Inc.
PDF
Indeedなう B日程 解説
by
AtCoder Inc.
PDF
Sec15 dynamic programming
by
Keisuke OTAKI
PDF
日本情報オリンピック旗(JOI Flag) 解説
by
Kensuke Imanishi
PDF
ACPC 2017 Day3 F: 掛け算は楽しい
by
HCPC: 北海道大学競技プログラミングサークル
PDF
AtCoder Regular Contest 043 解説
by
AtCoder Inc.
PPTX
Arc 010 d
by
Yuma Inoue
ODP
情報オリンピック夏合宿発表
by
Kazuma Mikami
PDF
暗号技術の実装と数学
by
MITSUNARI Shigeo
PDF
プログラミングコンテストでのデータ構造
by
Takuya Akiba
PDF
Comp geom20131107open
by
Kensuke Onishi
PDF
プログラミングコンテストでの乱択アルゴリズム
by
Takuya Akiba
PDF
Image Slide ( Animal Companion in Maze )
by
tadamasa yamaguchi
PDF
Vinculum
by
tomerun
PDF
指数時間アルゴリズムの最先端
by
Yoichi Iwata
PDF
WUPC2nd I問題
by
Dai Hamada
PDF
Divisor
by
oupc
PDF
最小カットを使って「燃やす埋める問題」を解く
by
shindannin
PDF
JOISP2013 Day3 Cake
by
__m3n
U・N・C・O
by
tomerun
AtCoder Regular Contest 026 解説
by
AtCoder Inc.
Indeedなう B日程 解説
by
AtCoder Inc.
Sec15 dynamic programming
by
Keisuke OTAKI
日本情報オリンピック旗(JOI Flag) 解説
by
Kensuke Imanishi
ACPC 2017 Day3 F: 掛け算は楽しい
by
HCPC: 北海道大学競技プログラミングサークル
AtCoder Regular Contest 043 解説
by
AtCoder Inc.
Arc 010 d
by
Yuma Inoue
情報オリンピック夏合宿発表
by
Kazuma Mikami
暗号技術の実装と数学
by
MITSUNARI Shigeo
プログラミングコンテストでのデータ構造
by
Takuya Akiba
Comp geom20131107open
by
Kensuke Onishi
プログラミングコンテストでの乱択アルゴリズム
by
Takuya Akiba
Image Slide ( Animal Companion in Maze )
by
tadamasa yamaguchi
Vinculum
by
tomerun
指数時間アルゴリズムの最先端
by
Yoichi Iwata
WUPC2nd I問題
by
Dai Hamada
Divisor
by
oupc
最小カットを使って「燃やす埋める問題」を解く
by
shindannin
JOISP2013 Day3 Cake
by
__m3n
More from oupc
PDF
Knapsack
by
oupc
PDF
Game
by
oupc
PDF
Four op
by
oupc
PDF
Division
by
oupc
PDF
Anagram
by
oupc
PDF
A
by
oupc
PDF
Comment
by
oupc
Knapsack
by
oupc
Game
by
oupc
Four op
by
oupc
Division
by
oupc
Anagram
by
oupc
A
by
oupc
Comment
by
oupc
Sharp2sat
1.
# 2SAT 原案、問題文:宮村 解答:宮村、橋本 解説:宮村
2.
問題概要 ●
2SAT が与えられる。 ● 各変数の出現回数は 1 or 2 回。 ● True になる割り当てが何通りあるか求める。 ● 各変数の出現回数について制限が無い場合、 #Pcomplete であることが知られている。 ( 効率的な解法はおそらく存在しない )
3.
観察 ●
とりあえずグラフで表現してみよう。 ● 例: (x1∨~x2)∧(~x3∨x2)∧(~x3∨~x4) x1 ~x3 ~x3 ~x2 x2 ~x4
4.
観察 ●
ここで、「変数の出現回数は 1 or 2 回」 に注目してみよう。 ● この条件から、各ノードの最大次数は 2 以下。 ● グラフは 線 or 環 が集まったものになる。 ● 連結成分毎に考えて最後に掛け合わせれば良い。 次数 3
5.
特別な場合 ●
ひとつのブロックに同じ変数が入っていた場合 : ● (x ∨ x) や (~x∨~x) のような場合は 1 を返す ● (x ∨ ~x) のような場合は 2 を返す
6.
線の場合 ●
dp[i][j] := {i 番目のブロックで、 i+1 番目のブロック と隣接するノードの値は j であり、 1~i 番のブロッ クは全て true であるような割り当ての数 } ● 下の図では、赤い辺は 0, 1 が反転するようなペア で、黄の辺は 0, 1 が等しいようなペア 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 ~x6
7.
線の場合 ●
dp[1][1] = 2, dp[1][0] = 1 ● 最終的な答は dp[N][0] + dp[N][1] となる。 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 ~x6
8.
線の場合 ●
ブロック i と i1 が赤い辺でつながっているとき: ● dp[i][0] = dp[i1][0] ● dp[i][1] = dp[i1][1] + dp[i1][0] 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 ~x6
9.
線の場合 ●
ブロック i と i1 が黄の辺でつながっているとき: ● dp[i][0] = dp[i1][1] ● dp[i][1] = dp[i1][1] + dp[i1][0] 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 ~x6
10.
環の場合 ●
環になっている場合は、どこかで切断して無理やり 線の場合に落とす。 ● 切ったときに、 1 番のブロックに入っているペアの 片割れが 0 になるか 1 になるか両方試す。 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 x1
11.
環の場合 ●
切断した箇所が赤い辺の場合は以下の 2 つの和: ● 左端を 1 にした場合 : dp[1][1] = 1, dp[1][0] = 1 と して dp[N][0] を求める。 ● 左端を 0 にした場合: dp[1][1] = 1, dp[1][0] = 0 と して dp[N][1] を求める。 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 ~x1
12.
環の場合 ●
切断した箇所が黄の辺の場合は以下の 2 つの和: ● 左端を 1 にした場合: dp[1][0] = 1, dp[1][1] = 1 と して dp[N][1] を求める。 ● 左端を 0 にした場合: dp[1][0] = 0, dp[1][1] = 1 と して dp[N][0] を求める。 1 2 3 4 5 x1 ~x3 ~x3 x5 ~x5 x2 ~x2 x4 x4 x1
13.
計算量 ●
グラフのビルド、 DP の計算ともに O(N) 。
14.
解答例 ●
宮村 (C++) 127 行 2577 byte ● 橋本 (Java) 161 行 4841 byte
Download