Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AtCoder Beginner Contest 091 C - 2D Plane 2N Points 非公式解説
Search
Ichijyo
January 10, 2019
Technology
0
430
AtCoder Beginner Contest 091 C - 2D Plane 2N Points 非公式解説
Ichijyo
January 10, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Discord とビルダー&チャットボットの使い方 / How to use Discord and Builder & Chatbots
ks91
PRO
0
130
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
130
VS CodeでAWSを操作しよう
smt7174
3
230
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
14
35k
4年前、あるじゃん老害エンジニアLT合戦に登壇、米国西海岸コンピュータ歴史博物館体験記の続編
toshi_atsumi
0
200
0→1開発における技術選定において一番大切なこと
bicstone
1
330
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
150
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
630
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.6k
Postman v10リリース後を振り返る
nagix
0
140
Microsoft Cloudで開発ライフサイクルを保護する
kkamegawa
0
150
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
550
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Building Effective Engineering Teams - LeadDev
addyosmani
27
1.8k
Visualization
eitanlees
135
14k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
39k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Side Projects
sachag
451
41k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Documentation Writing (for coders)
carmenintech
59
3.9k
Designing for humans not robots
tammielis
247
25k
Docker and Python
trallard
33
2.7k
Transcript
AtCoder Beginner Contest 091 C - 2D Plane 2N Points
非公式解説 @Ichijyo_piyo
問題概要 ・赤い点の座標が 1 , 1 , 2 , 2 ,
… , , で,青い点の座 標が 1 , 1 , 2 , 2 , … , , で与えられる. ・赤・青のペアをできるだけ多く作る. ・ペアになれる条件は,赤い点が青い点の左下に位置してい ることである. 1
解法の概要 ~入力例4~ 解法1:公式解説に書かれてい る方法(貪欲法) 解法2:二部グラフの最大マッ チング問題として考える(公式 解説中の“余談”) 本スライドでは“解法1”を説明す る. 2
解説(1/8) ~入力例4~ • 青い点のうち,最も座標が小 さいもの(bAとする)に注目 する. • bAはペアになれる赤い点が存 在した場合,最も座標が大き いもの(rAとする)とペアにす
ればよい.(証明は略) bA rA × この点はbAとは ペアになれません 3
解説(2/8) ~入力例4~ 青い点を座標の小さい順に見ていく • 青い点より左下にある,まだペア になっていない赤い点を探す. (なかったらなにもしない) • あったら,その中で最も最も座 標が大きいものを探し,ペアにす
る. ペア 4
解説(3/8) ~入力例4~ 青い点を座標の小さい順に見ていく • ペア1:青(3, 7)-赤(1, 6) 1 5
解説(4/8) ~入力例4~ 青い点を座標の小さい順に見ていく • ペア1:青(3, 7)-赤(1, 6) • ペア2:青(5, 4)-赤(1,
6) 1 2 6
解説(5/8) ~入力例4~ 青い点を座標の小さい順に見ていく • ペア1:青(3, 7)-赤(1, 6) • ペア2:青(5, 4)-赤(1,
6) • ペア3:青(6, 9)-赤(4, 8) 1 2 3 7
解説(6/8) ~入力例4~ 青い点を座標の小さい順に見ていく • ペア1:青(3, 7)-赤(1, 6) • ペア2:青(5, 4)-赤(1,
6) • ペア3:青(6, 9)-赤(4, 8) • ペア4:青(8, 5)-赤(7, 3) 1 2 3 4 8
解説(7/8) ~入力例4~ 青い点を座標の小さい順に見ていく • ペア1:青(3, 7)-赤(1, 6) • ペア2:青(5, 4)-赤(1,
6) • ペア3:青(6, 9)-赤(4, 8) • ペア4:青(8, 5)-赤(7, 3) • ペア5:青(9, 1)-赤(0, 0) 1 2 3 5 9 4
解説(8/8) ~入力例4~ • ペア1:青(3, 7)-赤(1, 6) • ペア2:青(5, 4)-赤(1, 6)
• ペア3:青(6, 9)-赤(4, 8) • ペア4:青(8, 5)-赤(7, 3) • ペア5:青(9, 1)-赤(0, 0) よって,5通り 1 2 3 5 10 4
参考資料 ・Kohei Morita(yosupo),「ARC 091/ABC 090 解説」, <https://img.atcoder.jp/arc092/editorial.pdf> 11