etc - GitDeveloperKim/DreamEach GitHub Wiki
- ์์ฉํด์ ๊ฐ์ด ๋์ฌ๋งํ ๊ธฐํ ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ
ํฌ์ํ ์ด๋ธ (sparse table)
- sparse table ํ์ธ ํ์ click
- Sparse Table ์์ arr[i][j] = arr[ arr[i][j-1] ][j-1]
- j ๊ฐ์ ์ด log2(๋ ธ๋ ์) ๋ก ๊ณ์ฐ
- ์ด 15์นธ ์ฌ๋ผ๊ฐ์ผ ํ๋ค๋ฉด (8์นธ -> 4์นธ -> 2์นธ -> 1์นธ)
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์กฐ๊ธ ๋ ์ฌ์ฉํ์ฌ ๊ฐ ๋ ธ๋์ ๋ํ์ฌ 2^i ๋ฒ ๋ถ๋ชจ์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ๋ก / ์๊ฐ๋ณต์ก๋ O(MlogN)
- click
- click
- click
์ค์ํ
- TBD
- ๋ฐฑ์ค 2170
ํฌํฌ์ธํฐ
- ๋ฆฌ์คํธ์ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ผ ํ ๋ ๋๊ฐ์ ์ ์ ์์น๋ฅผ ๊ธฐ๋กํ๋ฉด์ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ
- ์์์ (start)๊ณผ ๋์ (end)์ ์ฒซ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํ๋ค.
- ํ์ฌ๋ถ๋ถ ํฉ์ด M๊ณผ ๊ฐ๋ค๋ฉด, ์นด์ดํธ ํ๋ค.
- ํ์ฌ ๋ถ๋ถํฉ์ด M๋ณด๋ค ์๋ค๋ฉด end๋ฅผ 1 ์ฆ๊ฐ ์ํจ๋ค
- ํ์ฌ ๋ถ๋ถํฉ์ด M๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๋ฉด, start๋ฅผ 1 ์ฆ๊ฐ ์ํจ๋ค
- ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ธํ ๋๊น์ง 2๋ฒ๋ถํฐ 4๋ฒ๊น์ง ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค
sliding window
-TBD
์ ๋์ฌ ํฉ
- ๋ฐฐ์ด์ ๋งจ ์๋ถํฐ ํน์ ์์น๊น์ง์ ํฉ์ ๋ฏธ๋ฆฌ ๊ตฌํด๋์๊ฒ
- N๊ฐ์ ์ ์์น ๊ฐ๊ฐ์ ๋ํ์ฌ ์ ๋์ฌ ํฉ์ ๊ณ์ฐํ์ฌ P์ ์ ์ฅ
- ๋งค M๊ฐ์ ์ฟผ๋ฆฌ ์ ๋ณด๋ฅผ ํ์ธํ ๋ ๊ตฌ๊ฐํฉ์ P[Right] - P[Left-1]
- 10, 20, 30, 40, 50
- 0, 10, 30, 60, 100, 150
- left=1, right=3 -> p[3] - p[0] = 60
- left=2, right=5 -> p[5] - p[1] = 140
- left=3, right=4 -> p[4] - p[2] = 70