SlideShare a Scribd company logo
1 of 17
Download to read offline
デモンズプラン
原案: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行

More Related Content

Viewers also liked (18)

RUPC2017:Aの解説
RUPC2017:Aの解説RUPC2017:Aの解説
RUPC2017:Aの解説
 
RUPC2017:Bの解説
RUPC2017:Bの解説RUPC2017:Bの解説
RUPC2017:Bの解説
 
RUPC2017:K解説
RUPC2017:K解説RUPC2017:K解説
RUPC2017:K解説
 
J : 解説
J : 解説J : 解説
J : 解説
 
RUPC2017:E解説
RUPC2017:E解説RUPC2017:E解説
RUPC2017:E解説
 
RUPC2017:M問題
RUPC2017:M問題RUPC2017:M問題
RUPC2017:M問題
 
F pub
F pubF pub
F pub
 
A pub
A pubA pub
A pub
 
D pub
D pubD pub
D pub
 
B pub
B pubB pub
B pub
 
E pub
E pubE pub
E pub
 
K : 解説
K : 解説K : 解説
K : 解説
 
L : 解説
L : 解説L : 解説
L : 解説
 
M : 解説
M : 解説M : 解説
M : 解説
 
I : Traffic Tree
I : Traffic TreeI : Traffic Tree
I : Traffic Tree
 
C pub
C pubC pub
C pub
 
G pub
G pubG pub
G pub
 
Pythonではじめる競技プログラミング
Pythonではじめる競技プログラミングPythonではじめる競技プログラミング
Pythonではじめる競技プログラミング
 

More from Takumi Yamashita (10)

Deposited Ranges
Deposited RangesDeposited Ranges
Deposited Ranges
 
0: 全体の講評
0: 全体の講評0: 全体の講評
0: 全体の講評
 
H : hegemony get
H : hegemony getH : hegemony get
H : hegemony get
 
G : 解説
G : 解説G : 解説
G : 解説
 
F : 解説
F : 解説F : 解説
F : 解説
 
E : 解説
E : 解説E : 解説
E : 解説
 
D : 解説
D : 解説D : 解説
D : 解説
 
C : 解説
C : 解説C : 解説
C : 解説
 
B potatoes
B  potatoesB  potatoes
B potatoes
 
A: 解説
A: 解説A: 解説
A: 解説
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 

RUPC2017:J解説