7์ 4-5์ฃผ์ฐจ Weekly PS
July 19 - July 28, 2021
์ด ๊ธ์ ๊ตฌํ์ฝ๋ ๋งํฌ๊ฐ ์๋๋ผ๋ PS ๋ ํฌ ๋งํฌ ์ ๊ฐ์ ๋ํ ๋จ์๋ก ๋ค์ด๊ฐ๋ฉด ๋ณดํต ์ฌ๋ ค๋์ ์ฝ๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
7์ ๋ง์ง๋ง ์ฃผ๋ ์ผ๋ฐ์๋ฌผํ ์ํ์ ๋น๋กฏ, ๋ช๊ฐ์ง ํ ์ผ์ด ์์ด์ PS๋ฅผ ๊ฑฐ์ ๋ชปํ ๋ฏ ํฉ๋๋ค :(
์ฝ๋ ์ฌ๋์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ์กฐ๊ธ ์๊ฐํด๋ดค๋ค๊ณ ๊ฐ์ ํ๊ณ , ๋๋ต์ ์ธ ์์ด๋์ด๋ง ๊ฐ๋จํ ์ ์ ์๊ฐ์ ๋๋ค ใ ใ
Recent Updates
- ์ด๋ฆฌ์์ ์ค์๋ก UCPC์ ์ฐธ๊ฐํ์ง ๋ชปํ๊ฒ ๋์์ต๋๋ค.
- ๋ญ๊ฐ SCPC 2์ฐจ ์ค๋น๋ ๋ง๋ ํ ํ ์์๋๊ฒ ์๊ณ ํด์โฆ ์์ํ๊ฒ ์ฌ๋ฐ๋ ๊ณต๋ถ๋ฅผ ํ๋ ค๊ณ ๋ ธ๋ ฅ ์ค์ ๋๋ค.
- ICPC ์ฒ ์ด ๋๋ฉด ํ์๋ค๊ณผ ํจ๊ป ๋ ์ฌ๋ฐ๊ฒ ํ ์์์๋ฏ ํฉ๋๋ค. ํ์ฐ์ต์ด ์ ์ผ ์ฌ๋ฐ๋๊ฑฐ ๊ฐ์์
- ์ฌํด PS ์ฑ๊ณผ๋ ์ฝ๋์ผ R3 ๊ฐ๊ฑธ๋ก ๋ง๋ฌด๋ฆฌํ๊ฒ ๋ ๋ฏโฆ
Rounds
(Testing) Codeforces Global Round 15
- Global Round 15์ ํ ์คํฐ๋ก ์ฐธ์ฌํ์ต๋๋ค.
- ์ ๊ฐ ํ ์คํ ํ์๋๋ ๋น๊ตํ๋ฉด, B๋ฒ ๋ฌธ์ ๊ฐ ์๋ก ์๊ฒผ๊ณ , ์๋์ B๋ฒ์ด D๋ฒ์ผ๋ก ์ด๋ํ์ต๋๋ค. ํ ์คํ ํ์๋๋ B (์ง๊ธ์ D) ๊ฐ ๋๋ฌด ์ด๋ ค์ด๊ฑฐ ๊ฐ๋ค๋ ์๊ฐ์ ๋ค์์์ต๋๋ค.
Problems
๊ทธ๋ํ ์ฐ์ต.
BOJ 1766 ๋ฌธ์ ์ง
- ๋์ด๋ Gold 2
- ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ ๋ํ ์ดํด๋ง ๋ช ํํ๋ฉด ์ฝ์ต๋๋ค.
- BFS๋ก ๋ ธ๋๋ค์ ์์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ฅด๋
- queue ๋์ ํญ์ ๊ฐ๋ฅํ ์ฌ์ด ๋ฌธ์ ๋ฅผ ํ๋ผ๋ ์กฐ๊ฑด์ด ์์ผ๋ฏ๋ก BFS์์ Queue ๋์ Priority Queue๋ฅผ ์ฐ๋ฉด ๋ฉ๋๋ค.
POI 1994 Ones and Zeros (BOJ 8111 0๊ณผ 1)
- ๋์ด๋ Platinum 5
- ์ด๋ค ์์ ๋ค์ 0๊ณผ 1์ ์ด์ด์ ๋ค์ ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ฅผ 0๋ถํฐ $N-1$๊น์ง์ ๋ ธ๋๊ฐ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋๋จธ์ง๊ฐ $r$์ ์, $10r$ ๋๋ $10r + 1$ ๋ก ๋ ธ๋๊ฐ ์ด์ด์ ธ ์์์ ๊ด์ฐฐํฉ๋๋ค.
- ์ด์ 1์์ BFS๋ฅผ ํตํด ๋ ธ๋๋ค์ ๋ฐฉ๋ฌธํ๋ฉด์, 0์ด 100-step ์ด๋ด์ ๋ฐฉ๋ฌธ ๊ฐ๋ฅํ์ง ํ์ธํ๋ฉด ๋ฉ๋๋ค.
BOJ 1602 ๋๋ง์ ์์ญ์ด
- ๋์ด๋ Platinum 5
- ๋ ธ๋ ๊ฐ์ค์น๋ ํฉ์ด ์๋๋ผ, ๊ฒฝ๋ก ์์ ๊ฐ์ค์น์ max๋ง ํ ๋ฒ ๋ํฉ๋๋ค.
- ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์, ๊ทธ๋ฅ ๋ ธ๋ ์์๋๋ก โ์ค๊ฐ ๋ ธ๋โ ๋ฅผ ์ฐ๋ F-W์๋ ๋ฌ๋ฆฌ ๋ ธ๋ ๊ฐ์ค์น๊ฐ ์์ ๊ฒ๋ถํฐ ์ค๊ฐ ๋ ธ๋๋ก ์จ์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ๋๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด, ์๋ก์ด ๋ ธ๋๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ ํญ์ ๋ ธ๋๊ฐ์ค์น๋ ์ ๋ ธ๋์ ๊ฒ์ ๋ฐ๋ผ๊ฐ๊ฒ ๋๋ฏ๋ก, ๋น๊ต์ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค.
ICPC Germany Regional (GCPC) 2010 D Field Plan (BOJ 3977 ์ถ๊ตฌ ์ ์ )
- ๋์ด๋ Platinum 4
- ๊ทธ๋ํ๋ฅผ SCC๋ก ๋ฌถ์ด์ ์๊ฐํฉ๋๋ค. ๊ฐ์ SCC์ ์๋ ์ ์ ๋ผ๋ฆฌ๋ ์ธ์ ๋ ์๋ก ์ค๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ์ด์ , indegree๊ฐ 0์ธ SCC๋ฅผ ์ฐพ์์, ๊ทธ SCC๋ก๋ถํฐ ์ถ๋ฐํ๋ฉด ๋ฉ๋๋ค.
- ๋จ, indegree๊ฐ 0์ธ SCC๊ฐ ์ฌ๋ฌ๊ฐ์ด๋ฉด ์ด ๋๊ฐ๋ฅผ ์๋ก ์ค๊ฐ์๊ฐ ์์ด์, ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- SCC ๊ตฌํ์ Tarjan ์๋๋ฉด Kosaraju์ธ๋ฐ, Tarjan์ด ๊ตฌํํ ๊ฒ ์ ๊ณ ์ข๋ ๋น ๋ฆ ๋๋ค. Kosaraju๋ ์ต์ 2๋ฒ ์ด์์ DFS๋ฅผ ๋์์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๋ณ๊ฐ๋ก ์ ๋ ์์ ์ ์ง๋์ Kosaraju๋ฅผ ๋์ถฉ ๋ฐ์๋ฃ์์ต๋๋ค.
BOJ 4196 ๋๋ฏธ๋ ธ
- ๋์ด๋ Platinum 4
- ๋ง์ฐฌ๊ฐ์ง๋ก, SCC๋ฅผ ๋ฌถ์ ๋ค์ indegree๊ฐ 0์ธ SCC๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ ๋๋ค. ์ ๋ฌธ์ ์ ๊ฑฐ์ ๋๊ฐ์ต๋๋ค.
- ๋ค๋ง ์ด๋ฒ์ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ, indegree๊ฐ 0์ธ ๋ชจ๋ SCC๋ฅผ ์ง์ ๋์ดํธ๋ฆฌ๋ฉด ๋ฉ๋๋ค.
ICPC Jakarta Regional 2018 Boomerangs (BOJ 16583)
- ๋์ด๋ Platinum 2
- ๋จผ์ , ํธ๋ฆฌ์ ๋ํด ๋ฌธ์ ๋ฅผ ํ์ด ๋ด ์๋ค. ์ด๋ค ๋ ธ๋์ child๊ฐ ์ง์๊ฐ๋ผ๋ฉด, ์ง์๊ฐ์ ์์๋ ธ๋๋ค๊ณผ ํ์ฌ ๋ ธ๋๋ฅผ ๋ถ๋ฉ๋์ผ๋ก ์๋ก ์ด์ด์ฃผ๋ฉด ๋ฉ๋๋ค.
- ํ์๊ฐ๋ผ๋ฉด, ๋ฐฉ๊ธ์ ์ฒ๋ผ ์๊ณ , ์ด์ด์ง์ง ์์ ํ๋์ ๋ ธ๋์ ํ์ฌ ๋ ธ๋, ํ์ฌ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๋ถ๋ฉ๋์ผ๋ก ์ด์ด์ฃผ๋ฉด ๋ฉ๋๋ค.
- ์ด๋, ๋ถ๋ชจ ๋ ธ๋์๊ฒ ํ์ฌ ๋ ธ๋๋ ์ด๋ฏธ ์ฌ์ฉ๋์์ผ๋ฏ๋ก ๋ถ๋ชจ ๋ ธ๋์ ์์๋ ธ๋๋ฅผ ์๋ ๊ณผ์ ์ ์ฐธ์ฌํ๋ฉด ์ ๋๋ค๋ ์ฌ์ค์ reportํด์ผ ํฉ๋๋ค.
- ์ด๋ ๊ฒ ํ๋ฉด, ํธ๋ฆฌ๋ฅผ DFS ์์๋ก ๋๋ฉด์ ๋ชจ๋ ๊ฐ์ ์ (๊ฐ์ ์ด ํ์๊ฐ๋ฉด 1๊ฐ ๋นผ๊ณ ) ๋ถ๋ฉ๋์ ์ฐธ์ฌ์ํฌ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์, ํธ๋ฆฌ์ ๋ํด์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค. ์ด๋ฅผ ์ผ๋ฐํํด์ ์์ ๊ทธ๋ํ์ ๋ํด ํด๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ์ ์ ์ด ์ค์ํ์ง ์๊ณ , ๊ฐ์ ๋ง ์ค์ํ๋ฏ๋ก, ๊ทธ๋ํ๋ฅผ ๊ฐ์ ๋ก ํธ๋ฆฌ์ฒ๋ผ ํด๋ฉด ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์, ์ฌ์ดํด์ ์ด๋ฃจ๊ธฐ ์์ํ๋ ๊ฐ์ ์ ๋ง๋๋ฉด ๊ทธ ๊ฐ์ ์ ๋์ ์๋ก์ด ์ ์ ์ ๋ง๋ค์ด์, ์ฌ์ดํด์ ์ด๋ฃจ์ง ๋ชปํ๊ฒ ๋ง์ผ๋ฉด ๋ฉ๋๋ค. ์ด๋ ์๋ก์ด ์ ์ ์ ๋์ค์ ๋ถ๋ฉ๋์ ๋ง๋ค ๋ ๋ค์ ์๋ ์ ์ ์ผ๋ก ๋๋ ค์ค์ผ ํ๊ธฐ์, ์ด ์ฌ์ค์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค.
- ๋ง์ ๋ณต์กํ์ง๋ง, ์ฝ๋๋ ๊ต์ฅํ ๊น๋ํ๊ฒ ๋์ต๋๋ค.
build_tree(r, p)
ํจ์๋ฅผ ๋ณด๋ฉด ๋ฉ๋๋ค. - ์ ์ฒด ๊ณผ์ ์ DFS 2๋ฒ์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋๋ฒ์งธ BFS์ธ
build_boo(r, p)
์์, child node ๋ค ์ค ์ด๋ฏธ ์ฌ์ฉํ ๋ ธ๋๋ฅผ ํํํ๋ ๋ฑ ๋ํ ์ผ์ ์กฐ๊ธ ์ฃผ์ํด์ผ๊ฒ ์ต๋๋ค.