ALicademy ๐ฉโ๐ซ๐จโ๐ซ
-
์ ํด๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ - ๋ ์์ ์ต๋๊ณต์ฝ์๋?๐คจALicademy ๐ฉโ๐ซ๐จโ๐ซ/์๊ณ ๋ฆฌ์ฆ 2021. 7. 4. 23:55
๐Intro ์น๋งฅ์ ๊ณ ์ฅ์ธ ๋งฅ์น๋ง์์์๋ ๋งค๋ ์น๋งฅ์ถ์ ๐๐บ๋ฅผ ์ฝ๋๋ค. ์ฌํด๋ ์ถ์ ๋ฅผ ์ํด ์นํจ 4,500๋ง๋ฆฌ๐์ ๋งฅ์ฃผ 7,500์๐บ์ ์ค๋นํ์ต๋๋ค. ์ด๊ฒ๋ค์ ์ต๋ํ ๋ง์ ์ฌ๋๋ค์๊ฒ ๋จ๊น์์ด ๋๊ฐ์ด ๋๋์ด ์ฃผ๋ ค๊ณ ํ ๋, 1๏ธโฃ ์ต๋ ๋ช ๋ช ์๊ฒ ๋๋์ด ์ค ์ ์์ผ๋ฉฐ 2๏ธโฃ ํ ์ฌ๋ ๋น ์นํจ ๋ช ๋ง๋ฆฌ์ ๋งฅ์ฃผ ๋ช ์์ ๋ฐ์ ์ ์์๊น์? ๋ฌธ์ ๋ฅผ ๋ชจ๋ ๋ง์ถ์ จ๋์? ์ฌ๋ฌ๋ถ์ด ์ด๋ฏธ ์๊ณ ๊ณ์๋ฏ์ด 1๏ธโฃ๋ฒ ๋ฌธ์ ์ ๋ต์ 4,500๊ณผ 7,500์ '์ต๋ ๊ณต์ฝ์(Greatest Common Divisor)'์ธ 150๋ช ์ ๋๋ค. ๋ํ 2๏ธโฃ๋ฒ ๋ฌธ์ ์ ๋ต์ ์นํจ 4,500๋ง๋ฆฌ์ ๋งฅ์ฃผ 7,500์์ ์ต๋ ๊ณต์ฝ์์ธ 150์ผ๋ก ๋๋ 3๋ง๋ฆฌ์ 5์์ ๋๋ค. (ํ ์ฌ๋๋น ์นํจ ์ธ ๋ง๋ฆฌ๐๐๐์ ๋งฅ์ฃผ 5์๐บ๐บ๐บ๐บ๐บ์ด๋ผ๋... ์ ๋ง ์ข์ ์ถ์ ..
-
๐ฒ Segment Tree 2 - ๋ ๋น ๋ฅธ update๋ฅผ ์ํ Lazy Propagation!ALicademy ๐ฉโ๐ซ๐จโ๐ซ/์๊ณ ๋ฆฌ์ฆ 2020. 9. 1. 19:27
์๋ณธ์ ๋งํฌ๋ฅผ ํตํด ํ์ธํ์ค ์ ์์ต๋๋ค. Intro ๐ ์ด์ ๊ธ ๋ง์ง๋ง์ ๋ง์๋๋ ธ๋ฏ์ด segment tree์์ ํน์ ๊ตฌ๊ฐ์ updateํ ๋ leaf node๋ฅผ ์ผ์ผ์ด ๋ฐฉ๋ฌธํด์ updateํ๋ฉด ์ค๋ณตํด์ ๋ฐฉ๋ฌธํ๋ ๋ ธ๋๊ฐ ์๊น๋๋ค. ์ด ๋๋ฌธ์ ์ ๋ง ๋ง์ update ์ฐ์ฐ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๊ทธ๋์ ์ค๋์ ๋ ๋น ๋ฅธ udpate๋ฅผ ์ํ ๊ธฐ๋ฒ์ธ Lazy propagation๐ด ์ ๋ํด ๋ฐฐ์ ๋ณด๊ฒ ์ต๋๋ค! Lazy Propagation ๐ด ์ง๊ธ๋ถํฐ ์ฌ๋ฌ๋ถ์ด ๋ ธ๋๋ฅผ ์ง์ updateํ๋ ์ผ๊พผ๐ทโโ๏ธ๐ท์ด๋ผ๊ณ ์๊ฐํด๋ด ์๋ค! ์ฌ๋ฌ๋ถ์ ์๋ ์์ ์ ๊ฐ์ segment tree๋ฅผ ๋์๋ค๋๋ฉด์ ๋ ธ๋๋ฅผ udpateํฉ๋๋ค. ๋ง์ฝ arr์ 0๋ฒ์งธ๋ถํฐ 2๋ฒ์งธ ์ธ๋ฑ์ค๊น์ง updateํ๋ผ๋ ์์ ์ด ๋ค์ด์ค๋ฉด..
-
๐ฒ Segment Tree 1 - Segment Tree๋?ALicademy ๐ฉโ๐ซ๐จโ๐ซ/์๊ณ ๋ฆฌ์ฆ 2020. 8. 31. 16:33
์๋ณธ์ ๋งํฌ๋ฅผ ํตํด ํ์ธํ์ค ์ ์์ต๋๋ค ๐ Intro ๐ ์ค๋งํธํฐ์ ์ผ์ SNS๋ฅผ ๋ค์ด๊ฐ๋ด ์๋ค. ์ง๋ ํ ๋ฌ ๋์ ์ฌ๋ฌ๋ถ์ด ๋ฐ์ ์ข์์๐ ์ ํฉ์ ๊ตฌํ๊ณ ์ถ์ผ๋ฉด ์ด๋ป๊ฒ ํ๋ฉด ๋ ๊น์? ์๋ง ์ฌ๋ฌ๋ถ์ด ์ ์ ๋น์ทํ๋ค๋ฉด ๊ฐ์ฅ ๋จผ์ '๋ชจ๋ ๊ฒ์๋ฌผ ์ค ์ง๋ ํ ๋ฌ ๋์์ ๊ฒ์๋ฌผ์์ ๋ฐ์ ์ข์์ ์๋ฅผ ์ผ์ผ์ด ๋ํ๋ฉด ๋์ง ์์๊น์?' ๋ผ๊ณ ๋ง์ํ์ค์ง๋ ๋ชจ๋ฆ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ ๋ ๊ฒ์๋ฌผ์ ์๊ฐ n๊ฐ์ด๊ณ ํน์ ๊ธฐ๊ฐ ๋์ ๋ฐ์ ์ข์์ ์์ ํฉ์ ๋ฌป๋ query๋ฅผ m๊ฐ ์ฒ๋ฆฌํด์ผ ํ๋ค๋ฉด ์๊ฐ ๋ณต์ก๋๋ O(mn)์ ๋๋ค. ์ด ๋ฐฉ๋ฒ๋ ๋์์ง ์์ง๋ง ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์์๊น์? ๊ทธ๋์ ์ค๋ ์ฐ๋ฆฌ๊ฐ ๋ฐฐ์ธ ๊ฒ์ ๋ฐ๋ก ๊ตฌ๊ฐ์ ํฉ/ ์ฐจ/ ์ต๋๊ฐ/ ์ต์๊ฐ ๋ฑ์ ํจ์จ์ ์ผ๋ก ๊ตฌํ๊ธฐ ์ํด ์ฐ์ด๋ ์๋ฃ ๊ตฌ์กฐ์ธ ๐ดSegment T..