-
[Algo RhythmπΊπ]BOJ 14501 - ν΄μ¬Algo RhythmπΊπ/BOJ 2021. 3. 11. 00:41
λ¬Έμ λΆμ
λ°±μ€μ΄λ $i (1 \le i \le N)$λ²μ§Έ λ μ μΌμ νλλ λ§λλμ λ°λΌ μ»μ μ μλ μ΄μ΅μ΄ λ€λ₯΄λ€. λ¨μν μκ°νλ©΄ iλ²μ§Έ λ μ μΌμ νλ κ²½μ°μ μ νλ κ²½μ°λ‘ λλ μ λͺ¨λ κ²½μ°λ₯Ό μ΄ν λ€ κ·Έ μ€ μ΅λμ μ΄μ΅μ ꡬνλ©΄ λ κ² κ°λ€. μ¬μ€ κ·Έλλ λλ€. νμ§λ§ μ‘°κΈ λ μκ°ν΄λ³΄λ©΄ λ³΄λ€ λ ν¨μ¨μ μΈ λ°©λ²μ΄ μλ€λ κ²μ μ μ μλ€.
μμ λ§νλ―μ΄ λ°±μ€μ΄λ iλ²μ§Έ λ μ μΌμ νλλ λ§λλμ λ°λΌ μ»μ μ μλ μ΄μ΅μ΄ λ€λ₯΄λ€. μμΈν λ§νλ©΄ λ§μ½ iλ²μ§Έ λ μ μΌμ νλ€λ©΄ $i + T[i]$λ²μ§Έ λ μ μΌλΆν° νλλ λ§λλλ₯Ό μ νν μ μκ³ λ§μ½ iλ²μ§Έ λ μ μΌμ νμ§ μλλ€λ©΄ $i + 1$λ²μ§Έ λ μ μΌλΆν° νλλ λ§λλλ₯Ό μ νν μ μλ€. μ¦, λ°±μ€μ΄κ° iλ²μ§Έ λ μ μΌμ νλλ λ§λλλ₯Ό κ²°μ ν μ μλ μν©μμ μ»μ μ μλ μ΅λ μ΄μ΅μ iλ²μ§Έ λ μ μΌμ μ ννμλ μ»μ μ μλ μ΅λ μ΄μ΅κ³Ό iλ²μ§Έ λ μ μΌμ μ ννμ§ μμμ λ μ»μ μ μλ μ΅λ μ΄μ΅ μ€ λ ν° κ°μ΄λ€.
μ°λ¦¬λ μ΄λ₯Ό ν΅ν΄ λ¬Έμ ν΄κ²°μ μ°μμ μΈ κ΅¬μ‘°κ° μμμ μ μ μκ³ μ΄λ μ νμ μΈ dynamic programmingμ ν΄κ²°λ°©λ²μμ νμ ν μ μλ€.
λ¬Έμ νμ΄
λ¬Έμ λΆμμμ μΈκΈν 'λ°±μ€μ΄κ° iλ²μ§Έ λ μ μΌμ νλλ λ§λλλ₯Ό κ²°μ ν μ μλ μν©μμ μ»μ μ μλ μ΅λ μ΄μ΅μ iλ²μ§Έ λ μ μΌμ μ ννμλ μ»μ μ μλ μ΅λ μ΄μ΅κ³Ό iλ²μ§Έ λ μ μΌμ μ ννμ§ μμμ λ μ»μ μ μλ μ΅λ μ΄μ΅ μ€ λ ν° κ°'μ μλμ κ°μ μ νμμΌλ‘ ννν μ μκ³ $f(i)$μ κ°μ memoization tableμ μ μ₯νκ³ νμν λ λΆλ¬μ μ¬μ©ν μ μλ€.
$f(i) = max\begin{cases}f(T[i] + i) + P[i]&if\ choose\ i^{th}\ day\\f(i+1)&if\ not\ choose\ i^{th}\ day\end{cases}β$
μ νμμ μ¬κ·ν¨μλ‘ κ΅¬ννκ³ λμ λ°λ‘ μ²λ¦¬ν΄μΌ νλ λ κ°μ§ μμΈμν©λ€μ΄ μλ€. νλλ i λ²μ§Έ λ μ΄ λ°±μ€μ΄κ° ν΄μ¬νλ N + 1λ²μ§Έ λ λ³΄λ€ ν¬κ±°λ κ°μ μν©μ΄κ³ λ€λ₯Έ νλλ $T[i] + i - 1$ μΌ μ¦, λ°±μ€μ΄κ° iλ²μ§Έ λ μ μΌμ νκ³ λμ λ€μμΌλ‘ μΌμ ν μ μλ λ μ΄ N+1 μΌλ³΄λ€ ν¬κ±°λ κ°μ μν©μ΄λ€. λ κ²½μ° λͺ¨λ 0μ λ°νν΄μ μ΅λ μ΄μ΅μ ꡬνλλ° μν₯μ λ°μ§ μλλ‘ νλ€.
볡μ‘λ λΆμ
λ°±μ€μ΄κ° λ§μ§λ§μΌλ‘ μΌνλ λ μ Nλ²μ§Έ λ μ΄λΌκ³ νμ. μ΄λ μκ°λ³΅μ‘λμ 곡κ°λ³΅μ‘λλ μλμ κ°λ€.
μκ° λ³΅μ‘λ : $O(n)$
μ΄μ : μ¬κ·ν¨μμμ memoization tableμ κΈ°λ‘λμ§ μμ λ λ€μ λͺ¨λ νΈμΆλκ³ κΈ°λ‘λ λ λ€μ μμ μκ°μμ κ°μ λ°ννκΈ° λλ¬Έμ
κ³΅κ° λ³΅μ‘λ : $O(n)$
μ΄μ : $T_i$μ $P_i$λ₯Ό μ μ₯νλ λ°°μ΄κ³Ό memoization tableμ λͺ¨λ nκ°μ 곡κ°μ΄ νμνκΈ° λλ¬Έμ
μ½λ
λ¬Έμ μΆμ²μ μλ³Έ λ¬Έμ
https://www.acmicpc.net/problem/14501
14501λ²: ν΄μ¬
첫째 μ€μ λ°±μ€μ΄κ° μ»μ μ μλ μ΅λ μ΄μ΅μ μΆλ ₯νλ€.
www.acmicpc.net
www.notion.so/BOJ-14501-09a20ed4797748d9a90dcebe85dcaf9f
BOJ 14501 - ν΄μ¬
λ¬Έμ λΆμ
www.notion.so
'Algo RhythmπΊπ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algo RhythmπΊπ]BOJ 14889 - μ€ννΈμ λ§ν¬ (0) 2021.06.18 [Algo RhythmπΊπ]BOJ 1620 - μ μ νλ΄2 (0) 2021.03.12 [Algo RhythmπΊπ]BOJ 13458 - μνκ°λ (0) 2021.03.09 [Algo RhythmπΊπ] BOJ 16288. Passport Control (0) 2020.09.03 [Algo RhythmπΊπ] BOJ 17528. Two Machines (0) 2020.08.26