-
[Algo Rhythm๐บ๐] BOJ 2529 - ๋ถ๋ฑํธAlgo Rhythm๐บ๐ 2021. 7. 7. 22:23
๐ซ๋ฌธ์ ๋ถ์
๋ ์ข ๋ฅ์ ๋ถ๋ฑํธ ๊ธฐํธ ‘<’์ ‘>’๊ฐ $k$๊ฐ ๋์ด๋ ์์์ด์ $A$๋ผ๊ณ ํ์. ๊ทธ๋ฆฌ๊ณ $A$์ $i$๋ฒ์งธ ์์์ ์๋ ๋ถ๋ฑํธ๋ฅผ $A[i]\ (1 \le i \le k)$, ๋ถ๋ฑํธ ๊ธฐํธ ์๋ค์ ์๋ก ๋ค๋ฅธ ํ ์๋ฆฟ์ ์ซ์๊ฐ ๋ค์ด๊ฐ ์๋ฆฌ๋ฅผ $a_i\ (i \in \{x\ |\ 1 \le x \le (k + 1), \ x \in N\})$๋ผ๊ณ ํ์. ์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ $A$์ ๋ํ์ฌ $A[i]$๋ค๊ณผ $a_i$๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
์ด๋ $a_i$๋ ๋ค์๊ณผ ๊ฐ์ ๋ค๊ฐ์ง ์กฐ๊ฑด์ด ์๋ค.
- $i \ne j$์ผ ๋, $a_i \ne a_j$
- $a_i \in \{x\ |\ 0\le x \le 9, x \in N\}$
- $A[i]$๊ฐ '>'์ด๋ฉด, $a_i \gt a_{i + 1}$ ์ด๋ค.
- $A[i]$๊ฐ '<'์ด๋ฉด, $a_i \lt a_{i + 1}$ ์ด๋ค.
๋ฌธ์ ๋ $\min(a_1a_2...a_{k+1})$์ $\max(a_1a_2...a_{k+1})$๋ฅผ ์ถ๋ ฅํ ๊ฒ์ ์๊ตฌํ๋๋ฐ ์ด๋ฅผ ์ํด ๊ฐ๋ฅํ ๋ชจ๋ $a_1a_2...a_{k+1}$์ ํ์ธํด์ผ ํ๋ค. ๋ฐ๋ผ์, ์ด ๋ฌธ์ ๋ backtracking์ ๊ตฌํํ๋ ๋ฌธ์ ๋ก ์ดํดํ ์ ์๋ค.
๐ฅ๋ฌธ์ ํ์ด
$\min(a_1a_2...a_{k+1})$์ $\max(a_1a_2...a_{k+1})$์ ๊ตฌํ๋ ํจ์๋ฅผ $f(a_1a_2...a_{k+1}, depth)$๋ผ๊ณ ํ์.
$f$๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ด๋ $i \ne j$์ผ ๋, $a_i \ne a_j$๋ผ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๊ธฐ ์ํด ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ์กฐํํด์ผ ํ๋ค.
$f(Xa_2...a_{k + 1}, 1)\ (X \in [0, 9])$๋ฅผ ์คํํ ๋ค $\min(a_1a_2...a_{k+1})$์ $\max(a_1a_2...a_{k+1})$๋ฅผ ์ถ๋ ฅํ๋ค.
โจ๋ณต์ก๋ ๋ถ์
์์์ด $A$์ ๊ธธ์ด๋ฅผ $k$, $a_i$๊ฐ ๋ ์ ์๋ ๊ฐ๋ค์ ๊ฐ์๋ฅผ $m$์ด๋ผ๊ณ ํ ๋, ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
โฐ์๊ฐ ๋ณต์ก๋ : $O(m!)$
- ์ต์ ์ ๊ฒฝ์ฐ ์ฆ, $A$๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ๋ถ๋ฑํธ๋ค์ด ๊ฐ์ ๊ฒฝ์ฐ $a_{i+1}$๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฌ๊ท ํจ์๋ฅผ $m - i$๋ฒ๋ฅผ ์คํํ๊ธฐ ๋๋ฌธ์ $O(m!)$๊ฐ ์์๋จ
๐ ๊ณต๊ฐ ๋ณต์ก๋ : $O(k)$
- $A$๋ฅผ ์ ์ฅํ๊ธฐ ์ํด $O(k)$๊ฐ ์์๋จ
- $a_i$์ ๋ฐฉ๋ฌธ์ฌ๋ถ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด $O(k)$๊ฐ ์์๋จ
๐์ฝ๋
๐๋ฌธ์ ์ถ์ฒ
https://www.acmicpc.net/problem/2529