Partial Sum
-
- [BOJ-25682][C++] ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ 2
๋ฌธ์ ์ง๋ฏผ์ด๋ ์์ ์ ์ ํ์์ MN๊ฐ์ ๋จ์ ์ ์ฌ๊ฐํ์ผ๋ก ๋๋์ด์ ธ ์๋ M×N ํฌ๊ธฐ์ ๋ณด๋๋ฅผ ์ฐพ์๋ค. ์ด๋ค ์ ์ฌ๊ฐํ์ ๊ฒ์์์ผ๋ก ์น ํด์ ธ ์๊ณ , ๋๋จธ์ง๋ ํฐ์์ผ๋ก ์น ํด์ ธ ์๋ค. ์ง๋ฏผ์ด๋ ์ด ๋ณด๋๋ฅผ ์๋ผ์ K×K ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ฒด์คํ์ ๊ฒ์์๊ณผ ํฐ์์ด ๋ฒ๊ฐ์์ ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ๊ฐ ์นธ์ด ๊ฒ์์๊ณผ ํฐ์ ์ค ํ๋๋ก ์์น ๋์ด ์๊ณ , ๋ณ์ ๊ณต์ ํ๋ ๋ ๊ฐ์ ์ฌ๊ฐํ์ ๋ค๋ฅธ ์์ผ๋ก ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด ์ ์๋ฅผ ๋ฐ๋ฅด๋ฉด ์ฒด์คํ์ ์์น ํ๋ ๊ฒฝ์ฐ๋ ๋ ๊ฐ์ง๋ฟ์ด๋ค. ํ๋๋ ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ธ ๊ฒฝ์ฐ, ํ๋๋ ๊ฒ์์์ธ ๊ฒฝ์ฐ์ด๋ค. ๋ณด๋๊ฐ ์ฒด์คํ์ฒ๋ผ ์น ํด์ ธ ์๋ค๋ ๋ณด์ฅ์ด ์์ด์, ์ง๋ฏผ์ด๋ K×K ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ์๋ผ๋ธ ํ์ ๋ช ๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ค์ ์น ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๋น์ฐํ K..
2023.01.26 -
- [BOJ-2167][C++] 2์ฐจ์ ๋ฐฐ์ด์ ํฉ
๋ฌธ์ 2์ฐจ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์ ๋ (i, j) ์์น๋ถํฐ (x, y) ์์น๊น์ง์ ์ ์ฅ๋์ด ์๋ ์๋ค์ ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ฐฐ์ด์ (i, j) ์์น๋ iํ j์ด์ ๋ํ๋ธ๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฐฐ์ด์ ํฌ๊ธฐ N, M(1 ≤ N, M ≤ 300)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ M๊ฐ์ ์ ์๋ก ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ค. ๋ฐฐ์ด์ ํฌํจ๋์ด ์๋ ์๋ ์ ๋๊ฐ์ด 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ๊ทธ ๋ค์ ์ค์๋ ํฉ์ ๊ตฌํ ๋ถ๋ถ์ ๊ฐ์ K(1 ≤ K ≤ 10,000)๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ K๊ฐ์ ์ค์๋ ๋ค ๊ฐ์ ์ ์๋ก i, j, x, y๊ฐ ์ฃผ์ด์ง๋ค(1 ≤ i ≤ x ≤ N, 1 ≤ j ≤ y ≤ M). ์ถ๋ ฅ K๊ฐ์ ์ค์ ์์๋๋ก ๋ฐฐ์ด์ ํฉ์ ์ถ๋ ฅํ๋ค. ๋ฐฐ์ด์ ํฉ์ $2^{31}-1$๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ์์ ์ ๋ ฅ 1 2..
2023.01.24 -
- [BOJ-11660][C++] ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 5
๋ฌธ์ N×N๊ฐ์ ์๊ฐ N×N ํฌ๊ธฐ์ ํ์ ์ฑ์์ ธ ์๋ค. (x1, y1)๋ถํฐ (x2, y2)๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. (x, y)๋ xํ y์ด์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, N = 4์ด๊ณ , ํ๊ฐ ์๋์ ๊ฐ์ด ์ฑ์์ ธ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์. 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 ์ฌ๊ธฐ์ (2, 2)๋ถํฐ (3, 4)๊น์ง ํฉ์ ๊ตฌํ๋ฉด 3+4+5+4+5+6 = 27์ด๊ณ , (4, 4)๋ถํฐ (4, 4)๊น์ง ํฉ์ ๊ตฌํ๋ฉด 7์ด๋ค. ํ์ ์ฑ์์ ธ ์๋ ์์ ํฉ์ ๊ตฌํ๋ ์ฐ์ฐ์ด ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ์ ํฌ๊ธฐ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ์ ์ฑ์์ ธ ์๋ ..
2 2023.01.24 -
- [BOJ-10986][C++] ๋๋จธ์ง ํฉ
๋ฌธ์ ์ N๊ฐ $A_1, A_2, ..., A_N$ ์ด ์ฃผ์ด์ง๋ค. ์ด๋, ์ฐ์๋ ๋ถ๋ถ ๊ตฌ๊ฐ์ ํฉ์ด M์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ตฌ๊ฐ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, $A_i + … + A_j$ (i ≤ j) ์ ํฉ์ด M์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ (i, j) ์์ ๊ฐ์๋ฅผ ๊ตฌํด์ผ ํ๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ M์ด ์ฃผ์ด์ง๋ค. ($1 ≤ N ≤ 10^6, 2 ≤ M ≤ 10^3$) ๋์งธ ์ค์ N๊ฐ์ ์ $A_1, A_2, ..., A_N$ ์ด ์ฃผ์ด์ง๋ค. ($0 ≤ A_i ≤ 10^9$) ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ์๋ ๋ถ๋ถ ๊ตฌ๊ฐ์ ํฉ์ด M์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ตฌ๊ฐ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 5 3 1 2 3 1 2 ์์ ์ถ๋ ฅ 1 7 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ๋์ ํฉ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.ne..
2 2023.01.18 -
- [BOJ-16139][C++] ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ
๋ฌธ์ ์น์ฌ๋ ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ์์ ์์ฒด๊ณตํ ์ค๊ณ๋ฅผ ๊ณต๋ถํ๋ค๊ฐ ํค๋ณด๋ ์ํ์ด ์ค์ฉ์ ์ธ์ง ๊ถ๊ธํด์ก๋ค. ์ด๋ฅผ ์์๋ณด๊ธฐ ์ํด ์น์ฌ๋ ๋ค์๊ณผ ๊ฐ์ ์๊ฐ์ ํ๋ค. '๋ฌธ์์ด์์ ํน์ ์ํ๋ฒณ์ด ๋ช ๋ฒ ๋ํ๋๋์ง ์์๋ด์ ์์ฃผ ๋ํ๋๋ ์ํ๋ฒณ์ด ์ค์ง๋ ๊ฒ์ง ์์น์ ์ค๋ ์ํ๋ฒณ์ธ์ง ํ์ธํ๋ฉด ์ค์ฉ์ ์ธ์ง ํ์ธํ ์ ์์ ๊ฒ์ด๋ค.' ์น์ฌ๋ฅผ ๋์ ํน์ ๋ฌธ์์ด S, ํน์ ์ํ๋ฒณ α์ ๋ฌธ์์ด์ ๊ตฌ๊ฐ [l,r]์ด ์ฃผ์ด์ง๋ฉด S์ l๋ฒ์งธ ๋ฌธ์๋ถํฐ r๋ฒ์งธ ๋ฌธ์ ์ฌ์ด์ α๊ฐ ๋ช ๋ฒ ๋ํ๋๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ๋ผ. ์น์ฌ๋ ๋ฌธ์์ด์ ๋ฌธ์๋ 0๋ฒ์งธ๋ถํฐ ์ธ๋ฉฐ, l๋ฒ์งธ์ r๋ฒ์งธ ๋ฌธ์๋ฅผ ํฌํจํด์ ์๊ฐํ๋ค. ์ฃผ์ํ ์ ์ ์น์ฌ๋ ํธ๊ธฐ์ฌ์ด ๋ง๊ธฐ์ (ํต๊ณ์ ์ผ๋ก ํฌ๊ฒ ๋ฌด์๋ฏธํ์ง๋ง) ๊ฐ์ ๋ฌธ์์ด์ ๋๊ณ ์ง๋ฌธ์ q๋ฒ ํ ๊ฒ์ด๋ค. ์ ๋ ฅ ์ฒซ ์ค์ ๋ฌธ์์ด ..
2023.01.10 -
- [BOJ-2559][C++] ์์ด
๋ฌธ์ ๋งค์ผ ์์นจ 9์์ ํ๊ต์์ ์ธก์ ํ ์จ๋๊ฐ ์ด๋ค ์ ์์ ์์ด๋ก ์ฃผ์ด์ก์ ๋, ์ฐ์์ ์ธ ๋ฉฐ์น ๋์์ ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ์์๋ณด๊ณ ์ ํ๋ค. ์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด 10์ผ ๊ฐ์ ์จ๋๊ฐ ์ฃผ์ด์ก์ ๋, 3 -2 -4 -9 0 3 7 13 8 -3 ๋ชจ๋ ์ฐ์์ ์ธ ์ดํ๊ฐ์ ์จ๋์ ํฉ์ ์๋์ ๊ฐ๋ค. ์ด๋, ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ 21์ด๋ค. ๋ ๋ค๋ฅธ ์๋ก ์์ ๊ฐ์ ์จ๋๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ ์ฐ์์ ์ธ 5์ผ ๊ฐ์ ์จ๋์ ํฉ์ ์๋์ ๊ฐ์ผ๋ฉฐ, ์ด๋, ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ 31์ด๋ค. ๋งค์ผ ์ธก์ ํ ์จ๋๊ฐ ์ ์์ ์์ด๋ก ์ฃผ์ด์ก์ ๋, ์ฐ์์ ์ธ ๋ฉฐ์น ๋์์ ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์๋ ๋ ๊ฐ์ ์ ์ N๊ณผ K๊ฐ ํ ๊ฐ์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ฒซ..
2022.10.26 -
- [BOJ-11659] ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4
๋ฌธ์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ ์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ํฉ์ ๊ตฌํด์ผ ํ๋ ๊ตฌ๊ฐ i์ j๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ด M๊ฐ์ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ์ถ๋ ฅํ๋ค. ์ ํ 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N ์์ ์ ๋ ฅ 1 5 3 5 4 3 2 1 1 3 2 4 5 5 ์์ ์ถ๋ ฅ 1 12 9 1 ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/11659 11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N..
2022.10.26 -
- [Algorithm] ์ค์บ๋ ๋ฉ์๋(Scanning Method)
์ค์บ๋ ๋ฉ์๋(Scanning Method) ์ผ๋ ฌ๋ก ๋์ด๋ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง ๋, ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ด๋ค ํน์ ๊ตฌ๊ฐ๊ณผ ๊ทธ ๊ตฌ๊ฐ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๊ณ ์ ํ ๋๊ฐ ์๋ค. ์ ์๋์ ๊ฐ์ด ๋ฐฐ์ด a์ 0 ๋๋ 1์ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง ๋, ์ฐ์์ ์ผ๋ก 1์ด ๋ฐ์๋๋ ์ต๋ ๊ตฌ๊ฐ์ ๊ธธ์ด์ ๊ทธ ๋์ ์์น๋ฅผ ๊ตฌํ๋ผ. X 1 0 1 1 0 1 1 1 1 0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] ๊ตฌ๊ฐ [1, 1]์๋ ์ฐ์๋ 1์ด 1๊ฐ ๋ฐ์๋์๊ณ , ๊ตฌ๊ฐ [3, 4]์๋ ์ฐ์๋ 1์ด 2๊ฐ ๋ฐ์๋์์ผ๋ฉฐ ๊ตฌ๊ฐ [6, 9]์๋ ์ฐ์๋ 1์ด 4๊ฐ ๋ฐ์๋์๋ค. ์ฌ๊ธฐ์ ์ฐ์์ ์ผ๋ก 1์ด ๋ฐ์๋๋ ์ต๋ ๊ตฌ๊ฐ์ [6, 9]์ด๊ณ , ๊ตฌ๊ฐ์ ๊ธธ์ด๋ 4๊ฐ ๋๋ค. 3์ค for ๋ฌธ์ ์ด์ฉํ์ฌ ๊ตฌํ๊ธฐ ๋ค..
2022.10.26 -
- [Algorithm] ๋ถ๋ถํฉ(Partial Sum) ; ๋์ ํฉ(Prefix Sum)
๋ถ๋ถํฉ(Partial Sum) ; ๋์ ํฉ(Prefix Sum) ์ฐ์๋ ๊ตฌ๊ฐ $start$ ๋ถํฐ $end$ ๊น์ง์ ํฉ ๊ตฌํ๊ธฐ ์ผ์ฐจ์ ๋ฐฐ์ด a๊ฐ ์๋์ ๊ฐ์ด ์ด๊ธฐํ๋์ด ์๋ค. X 10 20 30 40 50 60 70 80 90 100 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] ๋ฐฐ์ด a์์ ์ฐ์๋ ๊ตฌ๊ฐ $start$ ๋ถํฐ $end$ ๊น์ง์ ํฉ์ $\displaystyle \sum_{k=\text{start}}^{\text{end}} a[k] = a[start] + a[start + 1] + \cdots + a[end -1] + a[end]$ ๋ก ์ ์ํ๋ค๋ฉด ($start ≤ end$), ๊ตฌ๊ฐ 5๋ถํฐ ๊ตฌ๊ฐ 9๊น์ง์ ํฉ $\displaystyle \sum_{..
2022.10.26