狠狠撸

狠狠撸Share a Scribd company logo
デモンズプラン
原案:public_sate
テスター:haji / uku / gacho
問題概要
● N体の使い魔とM体の悪魔がいます。
● 各使い魔と悪魔の距離が与えられます。
● かならず全ての悪魔にちょうど1体の使い魔が訪問しなければならない。
● 使い魔は複数の悪魔を訪問できる。
● 以下の条件を満たす使い魔と悪魔の割り振り方をしてください。
a. 使い魔1体あたりの訪問する悪魔の数の差の最大を最小化する。
b. aを満たした上で訪問する悪魔と担当する使い魔の距離の最大を最小
化する。
解法
a. 使い魔1体あたりの訪問する悪魔の数の差の最大を最小化する。
について
悪魔の数M、使い魔の数Nとしたとき
M/Nが割り切れれば
使い魔全員がM/Nの悪魔を担当することで差は0
割り切れなければ
floor(M/N)+1とfloor(M/N)を担当する悪魔が存在するので差が1
解法
b. aを満たした上で訪問する悪魔と担当する使い魔の距離の最大を最小
化する。
について、
距離の最大値として許容する距離は
二分探索によって求めることができる。
そのために
距離の最大値がKのとき割り振ることができるかは
  次のような問題になる。
解法
距離K以内の使い魔→悪魔に流量1で辺を結ぶ
使い魔
悪魔
解法
source から 各使い魔に[M/N,M/N+(M%N==0?0:1)]の流量の辺をはる
                      各悪魔から sink に流量1で辺をはる
使い魔
悪魔
s t
[M/N,M/N+(M%N==0?0:1)]
解法
フローを流して M だけ流れるかチェックする。
使い魔
悪魔
s t
[0,1]
解法
ここをなんとかする必要がある。(これはやり方がいくつかある)
使い魔
悪魔
s t
[0,1]
解法(やりかた1)
最低限流したい量(下限)をmin, 流して良い最大の流量(上限)をmaxとすると
S1から各使い魔に流量min, S2から各使い魔に流量maxを貼る。
使い魔
悪魔
S
2
t
S
1
min
max-min
解法(やりかた1)
S1 から t にめいいっぱい流す。これがmin * N 以下であれば false。
false なのは全ての使い魔が最低限の仕事をしていないため。
使い魔
悪魔
S
2
t
S
1
min
max-min
解法(やりかた1)
先程最低限を流しきった状態から
S2 から t にめいいっぱい流す。これが M - min*Nであれば true。
使い魔
悪魔
S
2
t
S
1
min
max-min
解法(やり方2)
使い魔とsourceを分身させます。(見づらいですが許して)
使い魔
悪魔
s
2
t
s
1
解法(やり方2)
s1から分身した各使い魔に流量M/Nで辺をはります。
s2から各使い魔に流量1で辺をはります。
使い魔
悪魔
s
2
t
s
1
1
M/N
解法(やり方2)
さらに超Source頂点Sを作りs1に流量M-M%N, s2に流量M%Nの辺をはります。
使い魔
悪魔
s
2
t
s
1
S
1
M/N
M-M%N
M%N
解法(やり方2)
S→tにフローを流してMだけ流れるかをチェックします。
このやり方だとフローを一度流すだけで済む
使い魔
悪魔
s
2
t
s
1
S
1
M/N
M-M%N
M%N
ここでSから出ている辺を
めいいっぱい使わないと
M流せないので
このフローは下限の制約
を満たす
流し方をする
結果
● Onsite and Online
○ First Submission : biwako_sen (2h16min)
○ First Accept : caffe (3h18min)
● SuccessRate (Accept/Submission)
○ 21.43 %
ジャッジ解
sate c++ 112行
haji c++ 87行
uku c++ 119行
gacho c++ 76行
Ad

Recommended

搁鲍笔颁2017:贵解説
搁鲍笔颁2017:贵解説
Takumi Yamashita
?
搁鲍笔颁2017:全体の讲评
搁鲍笔颁2017:全体の讲评
Takumi Yamashita
?
搁鲍笔颁2017:尝解説
搁鲍笔颁2017:尝解説
Takumi Yamashita
?
搁鲍笔颁2017:骋解説
搁鲍笔颁2017:骋解説
Takumi Yamashita
?
搁鲍笔颁2017:顿の解説
搁鲍笔颁2017:顿の解説
Takumi Yamashita
?
搁鲍笔颁2017:颁の解説
搁鲍笔颁2017:颁の解説
Takumi Yamashita
?
搁鲍笔颁2017:贬の解説
搁鲍笔颁2017:贬の解説
Takumi Yamashita
?
搁鲍笔颁2017:滨解説
搁鲍笔颁2017:滨解説
Takumi Yamashita
?
搁鲍笔颁2017:础の解説
搁鲍笔颁2017:础の解説
Takumi Yamashita
?
搁鲍笔颁2017:叠の解説
搁鲍笔颁2017:叠の解説
Takumi Yamashita
?
搁鲍笔颁2017:碍解説
搁鲍笔颁2017:碍解説
Takumi Yamashita
?
J : 解説
J : 解説
Takumi Yamashita
?
搁鲍笔颁2017:贰解説
搁鲍笔颁2017:贰解説
Takumi Yamashita
?
搁鲍笔颁2017:惭问题
搁鲍笔颁2017:惭问题
Takumi Yamashita
?
F pub
F pub
HCPC: 北海道大学競技プログラミングサークル
?
D pub
D pub
HCPC: 北海道大学競技プログラミングサークル
?
B pub
B pub
HCPC: 北海道大学競技プログラミングサークル
?
E pub
E pub
HCPC: 北海道大学競技プログラミングサークル
?
K : 解説
K : 解説
Takumi Yamashita
?
L : 解説
L : 解説
Takumi Yamashita
?
M : 解説
M : 解説
Takumi Yamashita
?
I : Traffic Tree
I : Traffic Tree
Takumi Yamashita
?
C pub
C pub
HCPC: 北海道大学競技プログラミングサークル
?
G pub
G pub
HCPC: 北海道大学競技プログラミングサークル
?
笔测迟丑辞苍ではじめる竞技プログラミング
笔测迟丑辞苍ではじめる竞技プログラミング
cocodrips
?
Deposited Ranges
Deposited Ranges
Takumi Yamashita
?
0: 全体の講評
0: 全体の講評
Takumi Yamashita
?
H : hegemony get
H : hegemony get
Takumi Yamashita
?
G : 解説
G : 解説
Takumi Yamashita
?

More Related Content

Viewers also liked (18)

搁鲍笔颁2017:础の解説
搁鲍笔颁2017:础の解説
Takumi Yamashita
?
搁鲍笔颁2017:叠の解説
搁鲍笔颁2017:叠の解説
Takumi Yamashita
?
搁鲍笔颁2017:碍解説
搁鲍笔颁2017:碍解説
Takumi Yamashita
?
J : 解説
J : 解説
Takumi Yamashita
?
搁鲍笔颁2017:贰解説
搁鲍笔颁2017:贰解説
Takumi Yamashita
?
搁鲍笔颁2017:惭问题
搁鲍笔颁2017:惭问题
Takumi Yamashita
?
F pub
F pub
HCPC: 北海道大学競技プログラミングサークル
?
D pub
D pub
HCPC: 北海道大学競技プログラミングサークル
?
B pub
B pub
HCPC: 北海道大学競技プログラミングサークル
?
E pub
E pub
HCPC: 北海道大学競技プログラミングサークル
?
K : 解説
K : 解説
Takumi Yamashita
?
L : 解説
L : 解説
Takumi Yamashita
?
M : 解説
M : 解説
Takumi Yamashita
?
I : Traffic Tree
I : Traffic Tree
Takumi Yamashita
?
C pub
C pub
HCPC: 北海道大学競技プログラミングサークル
?
G pub
G pub
HCPC: 北海道大学競技プログラミングサークル
?
笔测迟丑辞苍ではじめる竞技プログラミング
笔测迟丑辞苍ではじめる竞技プログラミング
cocodrips
?

More from Takumi Yamashita (10)

Deposited Ranges
Deposited Ranges
Takumi Yamashita
?
0: 全体の講評
0: 全体の講評
Takumi Yamashita
?
H : hegemony get
H : hegemony get
Takumi Yamashita
?
G : 解説
G : 解説
Takumi Yamashita
?
F : 解説
F : 解説
Takumi Yamashita
?
E : 解説
E : 解説
Takumi Yamashita
?
D : 解説
D : 解説
Takumi Yamashita
?
C : 解説
C : 解説
Takumi Yamashita
?
B potatoes
B potatoes
Takumi Yamashita
?
A: 解説
A: 解説
Takumi Yamashita
?
Ad

Recently uploaded (7)

Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
色について.pptx .
色について.pptx .
iPride Co., Ltd.
?
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
Ad

搁鲍笔颁2017:闯解説