-
Notifications
You must be signed in to change notification settings - Fork 2
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
38-tgyuuAn #138
38-tgyuuAn #138
Conversation
dpλ¬Έμ μ¬μ μ 체μ½λ κΈΈμ΄κ° 짧μ κ² μ κΈ°νλ€μ νΌμ¬λ
Έ μ£ΌκΈ°: νΌλ³΄λμΉ μλ₯Ό μ΄λ€ μ kλ‘ λλ λ, λλ¨Έμ§κ° κ°μ§λ μ£ΌκΈ° λ€λ₯Έ νΌλ³΄λμΉμ λ¬Έμ λ€ νμ΄μ μ μ μ»μ΄κ°μΌκ² μ΄μ |
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.
μ΅λ 100κ²½ μ΄λΌλ νΌμ¬λ
Έ μ£ΌκΈ° λͺ¨λ₯΄λ©΄ μ λ λͺ»νΈλ λ¬Έμ κ° λ§λ€μ
ꡬν λ‘μ§ μ체λ λ¨μνκ΅°μ μ’μ κ°λ
μ λ¨Ήκ³ κ°λλ€
Code#include <iostream>
#include <vector>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
const int PERIOD = 1'500'000;
vector<int> fibo(PERIOD);
fibo[1] = 1;
for (int i = 2; i < PERIOD; i++) {
fibo[i] = fibo[i - 1] + fibo[i - 2];
fibo[i] %= 1'000'000;
}
long long n;
cin >> n;
cout << fibo[n % PERIOD];
return 0;
} μ΄λ° νΉμ΄ν λ¬Έμ λ μ΄λμ λ°κ²¬νμ ¨λμ? μ£ΌκΈ°μ±μ λ°κ²¬νλ€κ³ ν΄λ μ£ΌκΈ°κ° 150λ§μ΄λΌλ κ²μ μ μ μμ΄μ μ λ λͺ» νΈλ;;;; |
@Munbin-Lee γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ γ νΉμ΄ν λ¬Έμ ... μ¬λ°λλΌκ³ μ ... |
π λ¬Έμ λ§ν¬
νΌλ³΄λμΉ μ 3
μ΄κ±° κ°λ λͺ¨λ₯΄λ©΄ μ λ λͺ» νΈλ λ¬Έμ μ λλ€.
μ΄ λ¬Έμ νκΈ° μν΄μ νΌμ¬λ Έ μ£ΌκΈ°λΌλ κ²μ μμμΌ ν΄μ.
λ¬Έμ νλ² μ½μ΄λ§ 보μκ³ , PR μ½κ³ μ μ μ»μ΄κ°μΈμ...!
βοΈ μμλ μκ°
20λΆ
β¨ μλ μ½λ
μΌλ° νΌλ³΄λμΉ μλ DPλ₯Ό μ΄μ©ν΄μ λΉ λ₯΄κ² ꡬνλ λ°©λ²μ μ μ μμ ν λ,
μ΄ λΆλΆμ λν΄μλ μ€λͺ νμ§ μκ² λ€.
μΌλ¨, λ¬Έμ λ₯Ό 보면 λ§λ μλλ μ‘°κ±΄μ΄ μλ€.
μλ₯Ό λ§λ‘λ νν λͺ»ν μ λλ‘ λ§€μ° ν¬λ€.
μ΄λ DPλ₯Ό μ΄μ©νλ€ νλ€,$O(n)$ μ μκ° λ³΅μ‘λλ‘λ νλ¦¬μ§ μμ λ¬Έμ μ΄λ€.
κ·Έλ₯ μ΄ λ¬Έμ λ μ²μ 보μλ§μ κΉ¨λ¬μλ€.
'μ, μ΄ λ¬Έμ λ λ΄ μ§μ λ°μ μμμ΄κ΅¬λ.'
'μ, μ΄ λ¬Έμ λ κ·Έλ₯ μ§μμ μ»κ³ νΈλ κ²μ΄ 건κ°μ μ΄λ‘κ² κ΅¬λ.' νκ³ λ§μ΄λ€.
κ·Έλμ μ§λ¬Έ κ²μνμ μ΄μ§ μΏ΅ λλ¬λ³΄μλ€.
첫 νμ΄μ§λ₯Ό λλ₯΄μλ§μ "νΌμ¬λ Έ μ£ΌκΈ°" λΌλ λ± λ΄λ λ¬Έμ λ₯Ό νΈλ λ° ν΅μ¬ ν€ μν μ ν΄μ€ ν€μλλ₯Ό μ»μλ€.
λ°λ‘ ꡬκΈλ§ ν΄λ³΄μλ€.
μμλ.
μ΄ λ¬Έμ λ μ΄ ν€μλλ₯Ό λͺ¨λ₯΄λ©΄ ν μ μλ λ¬Έμ μλ€.
νΌμ¬λ Έ μ£ΌκΈ°λ λ€μκ³Ό κ°λ€.
μΆμ²
μ¦, μ λ κ² λ§λ μλλ μκ° μλ€κ³ νλλΌλ,
μλμ κ°μ΄ μΆλ ₯μ
1,000,000
μ λλ λλ¨Έμ§λ₯Ό ꡬνλ λ°μ μμ΄μλνΌμ¬λ Έ μ£ΌκΈ° λ₯Ό μ΄μ©νμ¬ nμ νκΈ°μ μΌλ‘ μ€μΌ μ μλ€λ λ»μ΄λ€.
μ΄ λ, νΌμ¬λ Έ μ£ΌκΈ°μ 곡μμ λ€μκ³Ό κ°λ€.
μ¦, μ λ¬Έμ λ₯Ό μμλ‘ λ€μλ©΄
1,000,000
μμ΄λ$15 X 10^5$ μ μ£ΌκΈ°λ₯Ό κ°κ² λλ€λ λ»μ΄λ€.
μ¦,
μ°λ¦¬κ° ꡬν΄μΌ ν Nμ΄ μ΅λ$1,000,000,000,000,000,000$ μμ 1,000,000,000,000,000,000 % 15 X 10^5 μΌλ‘ μ€μΌ μ μλ€λ λ»μ΄ λλ€.
μ, μ΄μ n κ°μ΄ 150λ§ μλλ‘ λ¨μ΄μ‘λ€.
νΌμ¬λ Έ μ£ΌκΈ°λ₯Ό μ¬μ©νμ¬ λ¨λ²μ λ¬Έμ λμ΄λλ 골λ 2μμ μ€λ² λλ‘ λ¨μ΄μ‘λ€.
nκ°μ΄ 150λ§ λ°μ λμ§ μλ νΌλ³΄λμΉλ₯Ό ꡬνλ©΄ λμ΄λ€.
μ¬κΈ°κΉμ§ μμ,
κ·Έλλ‘ μ μΆνλ©΄ μκ° μ΄κ³Ό λ° λ©λͺ¨λ¦¬ μ΄κ³Όλ₯Ό κ²½νν μ μλλ°,
λ©λͺ¨λ¦¬ μ΄κ³Όλ νΌλ³΄λμΉλ₯Ό dpλ‘ ν λ νμ΄ 3κ°λ§ μμ΄λ λλ€λ μ μ μ΄μ©νμ¬
λ°°μ΄μ 3μΉΈμΌλ‘ λ§λ€κ³ κ³μν΄μ κ°±μ ν΄κ°λ μμΌλ‘ ν΄κ²°νλ©΄ λκ³ ,
μκ° μ΄κ³Όλ λ무 ν° μλ₯Ό νΈλ€λ§ νλ€ λ³΄λ μκΈ°λ μκ° μ΄κ³Ό μ΄λ―λ‘ λλ¨Έμ§ μ°μ° 곡μμ μ΄μ©νμ¬,
ꡬν λ λ§λ€ λλ¨Έμ§ μ°μ°μ μ μ©μμΌμ νμ΄μ£Όλ©΄ λκ² λ€.
μΆκ°μ μΌλ‘,
μ΄ λ μμ΄ νΌλ³΄λμΉ μ λλΉ΅ λ¬Έμ λ°, μ΄ λ¬Έμ νλ©΄ μλ μ°κ΄ λ¬Έμ λ€ νλ¦°λ€.
μ μ μ»μ΄κ°μλΌμ
π μλ‘κ² μκ²λ λ΄μ©
νΌμ¬λ Έ μ£ΌκΈ°
νΌλ³΄λμΉ μμ΄μμ λλ¨Έμ§ κ°μ ꡬν λ,
λλλ μκ°$10^K$ μΌ λ, μ£ΌκΈ°λ $15 * 10^k-1$ κ³Ό κ°λ€.
μΆμ²