-
[Algo Rhythm๐บ๐]BOJ 1620 - ์ ์ ํ๋ด2Algo Rhythm๐บ๐/BOJ 2021. 3. 12. 15:05
๋ฌธ์ ๋ถ์
๋ฌธ์ ๋ฅผ ๋ถ์ํ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ๋ค ์ค ํ๋๋ ๊ทธ๋ฆผ์ผ๋ก ํํํด๋ณด๋ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ์์ N = 0, 2, 4, 6 ์ผ๋ ์๋ฒฝํ๊ฒ ์ ์ํ๋ ๊ฒฝ์ฐ๋ค๊ณผ ๊ทธ ์๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ์๋์ ๊ฐ๋ค. (์ด๋ ๊ฐ ๊ตญ๊ฐ์ ๋ํ๋ ๋ ธ๋๋ก ํํํ๋ค.)
๊ทธ๋ฆผ์์ ๊ฒ์์ ๋ ธ๋์ ํฐ์ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋ ์ ๋ถ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์์ญ์ $l$, ์ค๋ฅธ์ชฝ ์์ญ์ $r$๋ผ๊ณ ํ์. ๊ทธ๋ฆฌ๊ณ $a$๊ฐ์ ๋ ธ๋๋ค์ด ์๋ฒฝํ๊ฒ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ $f(a)$๋ผ๊ณ ํ์. ๊ทธ๋ ๋ค๋ฉด N =0, 2, 4, 6์ผ๋ ์๋ฒฝํ๊ฒ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ์๋์ ๊ฐ์ ๊ท์น์ด ์์์ ์ ์ ์๋ค.
์ด ๊ท์น์ ์ ํ์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
$f(N)= \begin{cases} 1, & if\ n = 0\\ \sum_{i=0}^{N-2} f(i) \times f(N-i-2)\ (i\ is\ even), & if\ n \gt 0 \end{cases}$
์ด๋ฅผ ์ฌ๊ทํจ์๋ก๋ ๊ตฌํํ ์ ์์ง๋ง ์ค๋ณต๋ ๊ณ์ฐ๋ค์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ด์ง ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด bottom up๋ฐฉ์์ dynamic programming์ ์ฌ์ฉํ ์ ์๋ค.
์ฐธ๊ณ ๋ก ์ด ๋ฌธ์ ๋ ๊ฒฐ๊ตญ $N / 2$๋ฒ์งธ ์นดํ๋์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์นด๋๋์ ๋ฌธ์ ์ ๊ดํ ์ค๋ช ์ ์ด ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
๋ฌธ์ ํ์ด
๋ฌธ์ ๋ถ์์์ ๊ตฌํ ์ ํ์์ ์ด์ค ๋ฐ๋ณต๋ฌธ์ ํตํด bottom-up๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์๋ค. ๋ฌธ์ ์์ ์๊ตฌํ๋ ๊ฒ์ ์ฃผ์ด์ง N๋ช ์ ๋ํ๋ค์ด ์๋ฒฝํ๊ฒ ์ ์ํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ 987654321๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด์ ์ ์ํ์ฌ ๊ตฌํํ๋ฉด ๋ต์ ๊ตฌํ ์ ์๋ค.
๋ณต์ก๋ ๋ถ์
๊ฐ ๊ตญ๊ฐ์ ๋ํ๋ค์ ์๊ฐ n์ผ ๋ ์๊ฐ๋ณต์ก๋์ ๊ณต๊ฐ๋ณต์ก๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
์๊ฐ๋ณต์ก๋ : $O(n^2)$ - memoization table์ ์๋ n๊ฐ์ด๊ณ ๊ฐ๊ฐ์ ๊ตฌํ๋๋ฐ $O(n)$์ด ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์
๊ณต๊ฐ๋ณต์ก๋ : $O(n)$ - memoization table์ ์๊ฐ n์ด๊ธฐ ๋๋ฌธ์
์ฝ๋
-
Using DP
-
Using DP with space optimization
๋ฌธ์ ์ถ์ฒ ๋ฐ ์๋ณธ ๋ฌธ์
๋ฌธ์ ์ถ์ฒ : www.acmicpc.net/problem/1670
1670๋ฒ: ์ ์ ํ๋ด 2
์ฒซ์งธ ์ค์ ์ ์ ํ๋ด์ ์ฐธ๊ฐํ ์ฌ๋์ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ง์์ด๋ค.
www.acmicpc.net
์๋ณธ ๋ฌธ์ : www.notion.so/BOJ-1620-2-e60bb4885228465eb7dbcec7d7958644
BOJ 1620 - ์ ์ํ๋ด2
๋ฌธ์ ๋ถ์
www.notion.so
'Algo Rhythm๐บ๐ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algo Rhythm๐บ๐]BOJ 20170 - Commemorative Dice (0) 2021.06.21 [Algo Rhythm๐บ๐]BOJ 14889 - ์คํํธ์ ๋งํฌ (0) 2021.06.18 [Algo Rhythm๐บ๐]BOJ 14501 - ํด์ฌ (0) 2021.03.11 [Algo Rhythm๐บ๐]BOJ 13458 - ์ํ๊ฐ๋ (0) 2021.03.09 [Algo Rhythm๐บ๐] BOJ 16288. Passport Control (0) 2020.09.03 -