-
Notifications
You must be signed in to change notification settings - Fork 0
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
11-seongwon #44
11-seongwon #44
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.
μ λ μ²μμ μ°μν©μ λμ¬λΆλ Έμ΅λλ€..
k = 1λΆν° .... Nκ° κΉμ§ λͺ¨λ κ²½μ°μ μλ₯Ό 체ν¬ν μ μλλ‘νκ³ μ‘°ν© μ N!/N-1! + N!/N-2! ... μ΄λ°μμΌλ‘ μκ°νμλλ°.. ν΄λΉ Nμ λ€μ΄μ¬ μ μλ μμ κ°λ₯μ±μ΄ λ무 λ§λλΌκ΅¬μ©
λλΆλΆμ μΈμ΄μμλ λν΄νΈ μμ±μλ‘ μ¬μ©λ κ°μ΄ μ΄κΈ°νλμ§ μμμ κ²½μ° μ»΄νμΌλ¬κ° λμ μ²λ¦¬ν΄μ€λ€λ κ²μ μκ³ κ³μ ¨λμ? λ¬Όλ‘ μ¬μ©μκ° μλνλ μλνμ§ μμλ μ»΄νμΌλ¬κ° λμ μ²λ¦¬νλ€λ κ²μ λ―Έλ―Ένμ§λ§ κ·Έλ§νΌμ μ€λ²ν€λ(μκ°μμΌλ‘λ)κ° λ°μν μ μμ΅λλ€. νΉμ¬λ μ°λ κΈ°κ°μ΄ λ€μ΄κ° κ°λ₯μ± (CμΈμ΄ μ²λΌ)λ λ°°μ ν μ μμΌλ μΌμΌμ΄ μ΄κΈ°ν νλ μ΅κ΄μ λ€μ¬λλ κ²μ μ΄λ¨κΉμ?
for (int i = 0; i < k; i++)
{
for (int j = 0; j <= N; j++)
{
if (i == 0 || j == 0)
{
dp[i][j] = 1;
continue;
}
dp[i][j] = (dp[i][j - 1] + dp[i - 1][j])%1000000000;
}
}
μ μ κ²½μ° iμ jκ° 0μΌ κ²½μ°, μ¦ μ²«λ²μ§Έ κ°μΌ κ²½μ° 1λ‘ λ€ μ΄κΈ°νν΄μ μ κ·Όνλ λ°©μμΌλ‘ μ§ννμμ΅λλ€!
μν μ΄μ°¨νΌ 첫λ²μ§Έκ°λ€μ ν©λΆν΄λ νλλ°μ μ λκΈ° λλ¬Έμ 미리 1λ‘ μ΄κΈ°ννλ κ²μ΄κ΅°μ. μ€λ κ°μμμ C++μ μ°λ κΈ°κ°μ λ°°μ λλ° λ―Έλ¦¬ μ΄κΈ°ννλ©΄ μ΄κΈ°νλμ§ μμ κ°μ μ»΄νμΌλ¬κ° λμ μ²λ¦¬ν νμκ° μκ³ κ·Έλ‘ μΈν΄ μ€λ²ν€λλ₯Ό μ€μΌ μ μλ€λκ² ν μλΏλ€μ. μ’μ μ΅κ΄μ λ€μΌ μ μμ κ² κ°μμ κ°μ¬ν©λλ€γ γ |
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 λ¬Έμ λ νμ μ νμμ΄ μ€μνμ£ .. μ λ μ΄ λ¬Έμ λ
ΈνΈμλ€κ° 4 * 6 μ κ²½μ°μ μ λ€ μ μ΄λ³΄κ³ λμ κ·Έμ μμΌ κΉ¨λ¬μλ κΈ°μ΅μ΄ μλ€μ
μμ°μ n
μ kκ°μ μμ°μ
λ‘ λ§λ€ μ μλ κ²½μ°μ μλ μλ 2κ°μ§ κ²½μ°μ μμ ν©μ΄ λ©λλ€
- k - 1κ°μ μμ°μλ‘ nμ λ§λλ κ²½μ°μ μ a
k - 1κ°μ μμ°μλ‘ nμ λ§λ€μμΌλ©΄ κ° μ리μ 0λ§ λ£μΌλ©΄ aκ°μ κ²½μ°μ μκ° λμ¨λ€. - k κ°μ μμ°μλ‘ n - 1 μ λ§λλ κ²½μ°μ μ b
k κ°μ μμ°μλ‘ n - 1μ λ§λ€μμΌλ©΄ κ° μ리μ 1μ λ£μΌλ©΄ bκ°μ κ²½μ°μ μκ° λμ¨λ€.
μμ°μ€λ½κ² κ·ΈλΌ kκ°μ μμ°μλ‘ n - 2, n - 3... λ±λ± κ²½μ°μ μλ ꡬν΄μΌνμ§ μλ μΆμ§λ§ DP νΉμ±μ μμμλΆν° μμ°¨μ μΌλ‘ ꡬνκΈ° λλ¬Έμ n - 1μ κ²½μ°μ μμμ μ΄λ―Έ n - 2μ κ²½μ°μ μλ₯Ό ꡬνκ³ , n - 2μ κ²½μ°μ μμμ μ΄λ―Έ n - 3μ κ²½μ°μ μλ₯Ό ꡬνκΈ° λλ¬Έμ n - 1λ§ κ΅¬νλ©΄ λ©λλ€!
#include <iostream>
using namespace std;
int dp[202][202] = {0, };
int main() {
int n, k; cin >> n >> k;
for (int i = 0; i <= n; i++) dp[1][i] = 1;
for (int i = 2; i <= k; i++) {
for (int j = 0; j <= n; j++) {
int tmp = 0;
for (int m = 0; m <= j; m++) {
tmp += dp[i-1][m];
tmp %= 1000000000;
}
dp[i][j] = tmp;
}
}
printf("%d\n", dp[k][n]);
}
μ λ μ 3μ€ forλ¬Έμ μΌμκΉμ? μμ νμΈλ° μ§κΈ 보λ μ΄ν΄κ° μλλ€μ..
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
λ¬Έμ λ νλνλ κ²½μ°μμ
λ₯Ό μ μ΄λ³΄λ©° μλ€ κ΄κ³λ₯Ό λ°μ Έκ°λ©° μ νμ
μ λμΆν΄λ΄λκ²μ΄ μ λ§ μ€μνκ±° κ°μ΅λλ€. μ½λλ μ΄λ κ²μ§§μλ° μ νμ
μ μκ°ν΄λ΄λκ² μ λ§ μ΄λ ΅λ€μ.. μ λ μ°μν©
λ¬Έμ λΆν° νμ΄λ΄μΌκ² λ€μ©
π λ¬Έμ λ§ν¬
ν©λΆν΄
βοΈ μμλ μκ°
3μκ°
β¨ μλ μ½λ
μ΄μ μ νμλ μ°μν© λ¬Έμ λ‘ μ κ·ΌνλκΉ λμ ν νλ¦¬μ§ μμλ€. nμ΄ λ¬΄μ‘°κ±΄ 2κ°μ μ«μμ ν©μΌλ‘ λνλκ³ kκ°μ ν©μΌλ‘ λ λκΉμ§ κ³μ λλμ΄μ§λ―λ‘ dpλ λ§λ κ² κ°μλλ° νλ€κ° λͺ¨λ₯΄κ² μ΄μ λ€λ₯Έ νμ΄λ₯Ό μ°Έμ‘°νλ€.
μΌλ¨ kλ₯Ό 1λΆν° , nμ 0λΆν° ν΄μ νλ₯Ό 그리면
μ΄λ κ² λλ©΄
dp[k][n] = dp[k-1][n] + dp[k][n-1]
μ΄λΌλ μ νμμ΄ λμ¨λ€.π μλ‘κ² μκ²λ λ΄μ©
볡μ‘ν΄λ³΄μ΄μ§λ§ μ²μλΆν° μ°¨κ·Όμ°¨κ·Ό... μ νμμ΄ μλμ§λΆν° μ°Ύμ보μ