-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
7-YIM2UL2ET #23
7-YIM2UL2ET #23
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ’μ νμ΄λΌκ³ μκ°ν©λλ€!!
νΉν μ΄ κ·μΉμ±μ μ λ μ μ°Ύμ§ λͺ»νμ κ² κ°μλ°, κ·Έλ¦Όκ³Ό ν¨κ» μ€λͺ
ν΄μ£Όμ
μ μ½κ² μ΄ν΄ν μ μμμ΅λλ€!!
νΉν DPλ₯Ό μ¬μ©νμ¬ μκ°μ΄κ³Όλ₯Ό λ§μΌμκΈ° μνμ¬ μ¬μ©νμ ¨μ λ μ DPλ₯Ό μ¬μ©ν΄μΌνμ§ λΌλ μκ°μ νμλλ° λλΆμ μ½κ² μ΄ν΄ν μ μμλ€μ.
λ€λ§...μ₯μ ν°κ° μλ€λ©΄...2-2 κ°μ μ°ΎκΈ° λ° μ½λꡬν λΆλΆμμ μμ±ν΄μ£Όμ μ½λλ₯Ό 보면
int solve(int n)
{
int result = 1;
if (n == 1) return 1;
for (int i = 0; n-i*2 > 1;) result += solve(++i);
return;
}
μμ λ§μ§λ§μ returnλ§ ν΄μ£Όλ©΄ μλμ§ μμκΉ...λΌλ μκ°μ ν΄λ΄
λλ€!!
μ§μ§ μ₯μ ν° μΈ κ² κ°μ§λ§ νΉμ λͺ°λΌ μλ €λ립λλ€!!
μκ³ νμ ¨μ΅λλ€π
μ λ§μ΄λ€μ!? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def dfs(a: int):
if li[a] != 0:
return li[a]
result = 1
for i in range(1, a // 2 + 1):
result += dfs(i)
li[a] = result
return result
li = []
t = int(input())
for _ in range(t):
a = int(input())
li = [0 for i in range(a + 1)]
print(dfs(a))
f(n) = f(0) + f(1) + f(2) + ... + f(n // 2)μ κ°μκ² κ°μ΅λλ€.
YIM2UL2ETλμ κ·Έλ¦Όμ λ³΄κ³ 8μ
0 + 8 + 0
1 + 6 + 1
2 + 4 + 2
3 + 2 + 3
4 + 0 + 4
μ κ°λ€λκ±Έ λ΄μ μ΄λ κ² νμ΄λ΄€λλ° ν리λ€μ.
9μΌλλ
0 + 9 + 0
1 + 7 + 1
2 + 5 + 2
3 + 3 + 3
4 + 1 + 4
μ΄λΌμ 8μΌλμ κ²½μ°μ μκ° κ°μ΅λλ€.
νμ΄μ¬ 곡λΆνλκ²Έ νμ΄μ¬μ΄ μλ°λ³΄λ€ μ½κΈ° μμνμ€λ―ν΄μ 첨λΆν©λλ€!
f(n) = f(0) + f(1) + f(2) + ... + f(n // 2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
λ¬Έμ λ₯Ό μ΄ν΄νλλ°μλ§ κ½€ μ€λ κ±Έλ Έλλ° νΈλ¦¬κ΅¬μ‘°λ‘ μκ°μ μΌλ‘ μ μ΄ν΄νκΈ° μ½κ² μ μ΄μ£Όμ μ μ΄ν΄νκΈ° μ¬μ μ΅λλ€.
μ¬κ·μ μΌλ‘ μ κ·Όν΄μΌνλ μ μ μμμ§λ§ λκΈΈλμ΄ μμ μ μΌμ μμμ λ°νμΌλ‘ μ½λλ₯Ό μμ±νλ©΄ ν¨μ¬ μ§κ΄μ μ΄κ³ κ°λ¨νκ² μμ±μ΄ κ°λ₯νλ€μ..
μ¬κ· λ¬Έμ λ μ²μ μ ν λ λ§μ΄ μ΄λ ΅μ§λ§ λ§μ νκ³ λλ©΄ μ¬μ보μ΄λ κ² κ°μ΅λλ€..
곡κ°ν©λλ€.. κ·μΉλ§ μ°Ύκ³ , μ½λλ‘ κ΅¬ννλ©΄ μκ°λ³΄λ€ κ΅μ₯ν κ°λ¨ν μ½λλ‘ λμ¬ λκ° λ§μμ κ·Έλ° κ² κ°μ΅λλ€. μ¬λ¬λͺ¨λ‘ μκ°μ λ§μ΄ ν΄μΌνλ νκ·ΈμΈ κ² κΉμ΅λλ€.. |
π λ¬Έμ λ§ν¬
BOJ 2705 - ν°λ¦°λ둬 νν°μ
βοΈ μμλ μκ°
μ½ 40m
β¨ μλ μ½λ
1. λ¬Έμ μ€λͺ
N
μ νν°μ : μ«μ μ¬μ΄μ+
λ₯Ό λ£μ΄ λνλ΄λ ν©μ΄N
μ΄ λλ μμ΄. (μμ :6
μ νν°μ =1+2+3
)ν°λ¦°λ둬 νν°μ : μμΌλ‘ μ½μ΄λ, λ€λ‘ μ½μ΄λ λκ°μ νν°μ . (μμ:
6
μ ν°λ¦°λ둬 νν°μ =1+2+2+1
)μ¬κ·μ μΈ ν°λ¦°λ둬 νν°μ : νν°μ μ μΌμͺ½κ³Ό μ€λ₯Έμͺ½μ΄ λ λ€λ₯Έ ν°λ¦°λ둬 νν°μ μΈ νν°μ (??)
μ¬μ§μΌλ‘ μμ½νμλ©΄ λ€μκ³Ό κ°μ΅λλ€.
μ΄ λ¬Έμ λ
N
μ μ¬κ·μ μΈ ν°λ¦°λ둬 νν°μ μ κ°―μλ₯Όreturn
νλ λ¬Έμ μ λλ€.(μμ: 7μ μ¬κ·μ μΈ ν°λ¦°λ둬 νν°μ :
1+5+1
,2+3+2
,1+1+3+1+1
,3+1+3
,1+1+1+1+1+1+1
λ°λΌμ 6 return)2. λ¬Έμ ν΄μ
1. μ¬κ·μ μΈ ν°λ¦°λ둬 νν°μ ꡬνκΈ°
μ°μ νΈμμ μ¬κ·μ μΈ ν°λ¦°λ둬 νν°μ μ
RPP
λΌκ³ λΆλ₯΄κ² μ΅λλ€.μ°λ¦¬μ λͺ©μ μ
N
μRPP
μ κ°μλ₯Ό ꡬνλ κ²μ λλ€.RPP
λ λ°μΌλ‘ λλ μ μμͺ½μ 보λλΌλ λ λ€RPP
μ΄μ΄μΌ νλ μ‘°κ±΄μ΄ μμ΅λλ€.μ°μ
1
λΆν° μ°¨κ·Όμ°¨κ·ΌN
μRPP
λ₯Ό μ°Ύμλ΄ μλ€.N
1
1
1
2
2
,1+1
2
3
3
,1+1+1
2
4
4
,1+2+1
,2+2
,1+1+1+1
4
5
5
,1+3+1
,2+1+2
,1+1+1+1+1
4
6
6
,1+4+1
,2+2+2
,1+1+2+1+1
,3+3
,1+1+1+1+1+1
6
7
7
,1+5+1
,2+3+2
,1+1+3+1+1
,3+1+3
,1+1+1+1+1+1+1
6
8
8
,1+6+1
,2+4+2
,1+1+4+1+1
,3+2+3
,1+1+1+2+1+1+1
,4+4
,1+2+1+1+2+1
,2+2+2+2
,1+1+1+1+1+1+1+1
10
κ·μΉμ΄ 보μ΄μλμ? μ¬λλ§λ€ λ€λ₯Έ κ·μΉμ΄ λ³΄μΌ μλ μκ² μ§λ§ μ λ μ΄ κ·μΉμ λ°λΌ
RPP
λ₯Ό μ°Ύμμ΅λλ€.μμλ‘
N
=8
μΌ λ μ΄λ»κ² ꡬνλμ§ μ¬μ§μ λλ€. (λ§μ§λ§ 1+1+1+1+1+1+1+1μ λΉ¨κ°μ μ μ΄ λ§μ΅λλ€. μ λͺ» κ·Έλ Έλ€μ..)2. κ°μ μ°ΎκΈ° λ° μ½λ ꡬν
μ΄λ₯Ό μ½λλ‘ κ΅¬ν νμ λ κ°μλ§ λΉ λ₯΄κ² ꡬν μ μλλ‘ μ½λλ₯Ό μ§λ΄ μλ€.
N
μRPP
κ° λͺ κ° μλμ§ νμΈνλ ν¨μN
μ΄1
μ΄λ©΄1
μreturn
νλ€. (1
μRPP
λ1
λ°μ μμ.)i
λ₯Ό μμͺ½ μ«μλΌκ³ μκ°νκ³N
μμ μμͺ½ μ«μλ₯Ό λΉΌμ 2μ΄μμ΄λ©΄i
λ₯Ό1
μ© λν΄μi
μRPP
κ° λͺκ° μλμ§ νμΈνκ³ (μ¬κ·) μ΄λ₯Όresult
μ λν¨N
μμ μμͺ½ μ«μλ₯Ό λΊ κ°μ΄2
λ―Έλ§μ΄λ©΄return
.μ°Έκ³ λ‘
result
λ₯Ό1
λ‘ μ΄κΈ°ν νλ μ΄μ λN
μRPP
μ€μ 무쑰건μ μΌλ‘N
κ·Έ μμ²΄κ° μμΌλ―λ‘ κΈ°λ³Έμ μΌλ‘ κ°μλ₯Ό νλλ‘ μ‘κ³ κ°μΌ ν©λλ€.3. DP?
λΉμ°νκ²λ μκ°μ΄κ³ΌλΌλ κ²°κ³Όκ° λ³κ³ , μ΄λ₯Ό μμ νμ΅λλ€.
(μ΄ μμ΄λμ΄λ WAP λμ리 νμ₯λΆμ΄μ μ°μμλμ λμμ λ°μμ΅λλ€.)
μκ°μ΄κ³Όκ° μ μκΈ°λ νλ€λ©΄ μμμ
N
λ³΄λ€ μμ μ«μM
μRPP
μ κ°μλ₯Ό ꡬνμ΄λ,N
μRPP
κ°μκ° κ΅¬ν΄μ§μ§ μλ νM
μRPP
κ°μλ₯Ό ꡬνλΌλ ν¨μκ° κ³μ νΈμΆ λ μ μκΈ° λλ¬Έμ λλ€.μ΄λ₯Ό λ°©μ§νκΈ° μνμ¬ λ€μκ³Ό κ°μ λ°©μμ μ·¨ν΄μ€μλ€.
N-1
μ μΈλ±μ€λ‘ νκ³ ,N
μRPP
κ°μλ₯Ό κ°μΌλ‘ μ μ₯ν λ°°μ΄ary
μ λ§λ€μ΄μ€μλ€.ary[0]
μ1
λ‘ μ΄κΈ°ννκ³ , λλ¨Έμ§ λ°°μ΄μ κ°λ€μ0
μΌλ‘ μ΄κΈ°νν©λλ€.result
λ₯Όary[N-1]
λ‘ λ°κΎΈμ΄μ€μλ€.ary[n-1]
μ΄0
μ΄ μλ κ²½μ°λ‘ λ°κΎΈκ³ , μ΄μ λν κ²°κ³Όκ°μΌλ‘ary[n-1]
μreturn
νλλ‘ ν©μλ€.μ΄λ κ² νλ€λ©΄ ν¨μλ₯Ό νΈμΆνκΈ° μ μ μ΄λ―Έ νλ² κ΅¬ν κ°μΈμ§ νμΈ ν,
μ΄λ―Έ ꡬνλ€λ©΄ κ·Έ κ°μ
return
νμ¬ μκ°μ λ¨μΆμν¬ μ μμ κ²μ λλ€.3.μ΅μ’ μ½λ
π μλ‘κ² μκ²λ λ΄μ©
μμ§ν μ¬κ·κ° ν΄λ³Έ λ¬Έμ λ€ μ€ κ°μ₯ μ΄λ ΅λ€κ³ λκΌλλ°, λ§μ κ·μΉμ μ°ΎμΌλ©΄ μ΄λ ΅μ§λ§λ μλ€μ.
λ€λ§ μμ§ μ½μ§λ§λ μμ νΈμ΄λΌ μ΄μ¬ν μ°μ΅ν΄μΌκ² λ€κ³ λλλλ€.
μΆκ°μ μΌλ‘ μ°μμλμ λμμ λ°μ DPλ₯Ό κ²ν₯κΈ°λ‘ μ¨λ΄€λλ° μ’μ μμ΄λμ΄λ₯Ό μ»μ΄κ°λ κ² κ°μ΅λλ€.
π μλ‘κ² μκ²λ λ΄μ©
μμ§ν μ¬κ·κ° ν΄λ³Έ λ¬Έμ λ€ μ€ κ°μ₯ μ΄λ ΅λ€κ³ λκΌλλ°, λ§μ κ·μΉμ μ°ΎμΌλ©΄ μ΄λ ΅μ§λ§λ μλ€μ.
λ€λ§ μμ§ μ½μ§λ§λ μμ νΈμ΄λΌ μ΄μ¬ν μ°μ΅ν΄μΌκ² λ€κ³ λλλλ€.
μΆκ°μ μΌλ‘ μ°μμλμ λμμ λ°μ DPλ₯Ό κ²ν₯κΈ°λ‘ μ¨λ΄€λλ° μ’μ μμ΄λμ΄λ₯Ό μ»μ΄κ°λ κ² κ°μ΅λλ€.
κ·Έλ¦¬κ³ κΆκΈν μ μΌλ‘λ μ μλ³μλ μ°μ§ μλκ²μ΄ μ’λ€κ³ λ€μλλ° λ©μΈ ν¨μμμ staticμΌλ‘ μ μΈνκ³ , ν¨μλ₯Ό μ¬μ©ν λ κ³μ μ μΈν΄ μ£Όλ λ°©λ²λ°μλ μκ°μ΄ λμ§ μλλ° μ΄λ¬λ©΄ μκ°μ λ μ‘μλ¨Ήμ§ μμκΉμ? μλλ©΄ λ€λ₯Έ λ°©λ² λ μ’μ λ°©λ²μ΄ μμκΉμ?
μΆκ°μ μΌλ‘ μ μλ³μλ₯Ό μ¬μ©νλ©΄ μμ’μ μ μ΄ κ΅¬μ²΄μ μΌλ‘ 무μμΈμ§λ κΆκΈν΄μ§λ€μ.. (μλ²½μ΄λΌ κΆκΈμ¦μ΄ λ§μμ§λ€μ)