-
[Algo RhythmπΊπ] BOJ 17425 - μ½μμ ν©Algo RhythmπΊπ/BOJ 2021. 6. 24. 21:43
λ¬Έμ λΆμ
μ½μμ μ±μ§ μ€ νλλ λ μμ°μ a,bμ λνμ¬ aκ° bμ λ°°μμ΄λ©΄ bλ aμ μ½μ(λ€) μ€ νλλΌλ κ²μ΄λ€.
κ·Έλ¦¬κ³ μ΄ λ¬Έμ λ μμ°μ n(1β€nβ€106)μ μ λ ₯ν λ g(n)μ μΆλ ₯ν κ²μ μꡬνλ€. μ΄λ g(n)μ μλμ κ°μ μμμΌλ‘ μ μν μ μλ€.
g(n)={g(nβ1)+f(n)n>11n=1
μμ λ§ν λ κ°μ§λ₯Ό μ’ ν©ν λ μ΄ λ¬Έμ λ μ½μμ μ±μ§μ μ΄μ©νμ¬ λͺ¨λ nμ λνμ¬ g(n)μ ꡬνμ¬ μ μ₯ν λ€μ ν μ€νΈμΌμ΄μ€λ‘ nμ μνλ μμ°μ aκ° λ€μ΄μ¬ λλ§λ€ g(a)λ₯Ό μΆλ ₯νλ λ¬Έμ λ‘ μ΄ν΄ν μ μλ€.
λ¬Έμ νμ΄
1. g(n)μ μ μ₯νλ λ°°μ΄ accλ₯Ό μμ±νλ€. κ·Έλ¦¬κ³ 1λΆν° 106κΉμ§ μμ°μ xμ λνμ¬ μ°¨λ‘λλ‘ 2λ² κ³Όμ μ λ°λ³΅νλ€.
2. xλΆν° 106κΉμ§ xμ© μ¦κ°νλ©° xμ λ°°μ y(λ€)μ μ°Ύλλ€. κ·Έλ¦¬κ³ acc[y]μ xλ₯Ό λνλ€. μλνλ©΄ μ½μμ μ±μ§μ μ
ν΄ xλ yμ μ½μ(λ€) μ€ νλμ΄κΈ° λλ¬Έμ΄λ€. 2λ² κ³Όμ μ g(n)μ f(n)μ λνκΈ° μν κ³Όμ μ΄λ€.
3. 2λ² κ³Όμ μ΄ λλλ©΄ acc[x]μ acc[xβ1]μ λνλ€. 3λ² κ³Όμ μ g(n)μ g(nβ1)μ λνκΈ° μν κ³Όμ μ΄λ€.
볡μ‘λ λΆμ
μ λ ₯μΌλ‘ μ£Όμ΄μ§λ μμ°μλ₯Ό n(1β€nβ€106), ν μ€νΈμΌμ΄μ€μ κ°μλ₯Ό t(1β€tβ€105)λΌκ³ ν λ, μκ° λ³΅μ‘λμ κ³΅κ° λ³΅μ‘λλ λ€μκ³Ό κ°λ€.
β°μκ° λ³΅μ‘λ : O(n2)
n μ μνλ μμ°μ iμ κ·Έ λ°°μμΈ j(λ€)μ λνμ¬ acc[i]λ₯Ό ꡬνκΈ° μν΄ nΓ·iλ² acc[j]μ iλ₯Ό λνλ κ³Όμ μ λ°λ³΅νκΈ° λλ¬Έμ O(n2)λ§νΌ μμλλ€. (κ·Όλ° νμ νμ§ λͺ» νκ² λ€...π₯)
π κ³΅κ° λ³΅μ‘λ : O(n)
g(n)μ μ μ₯νλ λ°°μ΄ accλ₯Ό μμ±νκΈ° μν΄ O(n)λ§νΌμ 곡κ°μ΄ νμνλ€.
μ½λ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters#include <cstdio> #define MAX 1000001 typedef long long ll; ll acc[MAX + 1]; int main() { int t, n; for(int i = 1; i <= MAX; i++) { for(int j = i; j <= MAX; j += i) acc[j] += i; acc[i] += acc[i - 1]; } scanf("%d", &t); for(int i = 0; i < t; i++) { scanf("%d", &n); printf("%lld\n", acc[n]); } return 0; } λ¬Έμ μΆμ²
https://www.acmicpc.net/problem/17425
17425λ²: μ½μμ ν©
λ μμ°μ Aμ Bκ° μμ λ, A = BCλ₯Ό λ§μ‘±νλ μμ°μ Cλ₯Ό Aμ μ½μλΌκ³ νλ€. μλ₯Ό λ€μ΄, 2μ μ½μλ 1, 2κ° μκ³ , 24μ μ½μλ 1, 2, 3, 4, 6, 8, 12, 24κ° μλ€. μμ°μ Aμ μ½μμ ν©μ Aμ λͺ¨λ μ½μλ₯Ό λ
www.acmicpc.net
'Algo RhythmπΊπ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Algo RhythmπΊπ] BOJ 9095 - 1, 2, 3 λνκΈ° (0) 2021.06.29 [Algo RhythmπΊπ] BOJ 1748 - μ μ΄μ΄μ°κΈ° 1 (0) 2021.06.28 [Algo RhythmπΊπ] BOJ 17427 - μ½μμ ν© 2 (0) 2021.06.24 [Algo RhythmπΊπ] BOJ 4375 - 1 (0) 2021.06.23 [Algo RhythmπΊπ]BOJ 6588 - 골λλ°νμ μΆμΈ‘ (0) 2021.06.23