์๊ณ ๋ฆฌ์ฆ10 [DFS] ์ฌ๊ท์ ์คํ์ผ๋ก ๊ฐ๋ณ๊ฒ ๋ฌธ์ ํ๊ธฐ ๋ค์ด๊ฐ๋ฉฐ์ ๋ฒ ํฌ์คํ ์์๋ ์ด์ ์ํ๋ฅผ ๊ธฐ์ตํด์ผํ๋ ๋ฌธ์ ๊ฐ ๋ํ์ ์ธ ์คํ ํ์ฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.(์ด์ ํฌ์คํ ) ์คํ๊ณผ ์ฌ๊ท๋ ์ด๋ฌํ ์ ์์ ๋น์ทํ ์ ์ด ๋ง์ต๋๋ค. ๊น๊ฒ ํ๊ณ ๋ค์ด๊ฐ๋ค๊ฐ ๋ค์ ๋์ค๋ ํํ๋ ๋์ผํ์ฃ . ์ค๋์ ์ด๋ฌํ ์ ํ์ ๋ฌธ์ ๋ฅผ ์ ํ์ ๋, ์ฌ๊ท๋ฅผ ์ ํํด์ผ ํ๋์ง ์คํ์ ์ ํํด์ผํ๋์ง ์์๋ด ์๋ค.๊ธฐ์ค์คํ ๊ธฐ๋ฐ DSF์ฌ๊ท DFS์ฝ๋ ๋ณต์ก๋์คํ ์ ์ธ, ์(pair) ๊ด๋ฆฌ, ๋ฐ๋ณต๋ฌธ ์ฌ์ฉํจ์ ํธ์ถ๋ก ๊ตฌ์กฐ ๋จ์๊ฐ๋ ์ฑํ๋ฆ์ ๋ฐ๋ผ๊ฐ๊ธฐ ์ด๋ ค์๋ ผ๋ฆฌ์ ์ผ๋ก ๋จ๊ณ์ ์ด๋ฉฐ ์์ฐ์ค๋ฌ์์ฑ๋ฅ๋น์ทํจ (N์ด ์์, ์ต๋ 8์๋ฆฌ)๊ฑฐ์ ์ฐจ์ด ์์์ ๋ ฌํ์ฒ๋ฆฌ ํ์ (๋ฒกํฐ + ์ ๋ ฌ)ํ์ ์์ ์กฐ์ ๊ฐ๋ฅ (for๋ฌธ ์ค๋ฆ์ฐจ์์ผ๋ก)์ ๋ ๋๋ฒ๊น ์ ๋ํดํจ๊ณผ ์ง๊ด์ ์ด์ง ์์ ์ฝ๋ ํ๋ฆ ๋๋ฌธ์ ์ฌ๊ท๋ฅผ ์ธ๋ฉดํ๊ณค ํ์ต๋๋ค. ํ์ง๋ง ๋๋ถ๋ถ์ DFS .. 2025. 5. 16. [์คํ, ํ] ๋ฐฑํธ๋ํน(์ด์ ์ํ ๊ธฐ์ต)์ ์คํ์ ํ์ฉํ์ธ์ ์ด์ ์ํ๋ฅผ ๊ธฐ์ตํด์ผ ํ๋ ๊ตฌ์กฐ(๋ฐฑํธ๋ํน)์๋ ์คํ์ ํ์ฉํ์ธ์. ๋ค์ด๊ฐ๋ฉฐ์คํ๊ณผ ํ์ ๋ํ ์ค๋ช ์ ๊ตณ์ด ํ์ง ์๊ฒ ์ต๋๋ค. ๋ค๋ง ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ์คํ๊ณผ ํ๋ฅผ ์ฌ์ฉํด์ผ ํ๋์ง ์ง์คํฉ์๋ค. ์คํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ ์ ์ถ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ DFS(๊น์ด ์ฐ์ ํ์), ์ฌ๊ท ๋ฑ์ ์ฌ์ฉํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ ๊ดํตํ๋ ๊ฐ๋ ์ ์ด์ ์ํ ๋ณต๊ตฌ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์คํ ์์ฒด๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ์ฌ๋ฆฌ๋ค๊ฐ ๋บ ๋๋ ๊ฐ์ฅ ์ต์ ์ ์์ธ ๋ฐ์ดํฐ๋ง ๋นผ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์ด์ ์ํ๋ฅผ ๋์ฐพ์ ์ ์์ต๋๋ค. ์ด๋ฐ ํน์ฑ ๋๋ถ์ ์ฌ๊ท, DFS, ๊ดํธ ๊ฒ์ฌ, Undo ๋ฑ ์ด๋ค ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ค๊ฐ ๋ค์ ๋๋์ ์ฌ ์ ์๋ ํ๊ธฐ ๋ฅ๋ ฅ์ด ์์ต๋๋ค. ๋ฐ๋ผ์, ์คํ์ ์ด์ ์ํ๋ฅผ ๊ธฐ์ตํด ๋๊ฐ๋ฉด์ ํ์ํ ๋ ๋น ๋ฅด๊ฒ popํ์ฌ ๋น๊ตํ๋๋ฐ ์ต์ ํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค.ํ์ ๊ฒฝ์ฐ์๋ .. 2025. 5. 11. [์ฐ์ ์์ ํ] ์ต์๊ฐ or ์ต๋๊ฐ ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ(feat. deque) ์ต์๊ฐ, ์ต๋๊ฐ ์ฐพ๊ธฐ ๋ฌธ์ ์์ ์ ๋ ฌ์ ์ฌ์ฉํ ์ ์๋ค๋ฉด, ์ฐ์ ์์ ํ๋ฅผ ์๊ฐํ์ธ์ ๋ค์ด๊ฐ๋ฉฐ์๊ฐ๋ณต์ก๋๋ฅผ ์ธก์ ํ๋ ๋ฌธ์ ์ค์์๋ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ค์ด ๋ง์ต๋๋ค. ํนํ ์ ๋ ฌ์ด ํ์ํ ๊ฒฝ์ฐ์ธ๋ฐ, ์ ๋ ฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก NlogN์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค. ํน์ ๋ฌธ์ ์ ์๊ตฌ์ฌํญ์์๋ ์ ์ด๋ N์ ์๊ฐ๋ณต์ก๋๋ฅผ ์๊ตฌํ๋ ๋ถ๋ถ์ด ์์ต๋๋ค. ์ด๋ด ๋ ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ฉด logN์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฐฑ์ค 11003 ์ฒ์์๋ ๋ฌธ์ ์์ฒด๊ฐ ์ดํด๋์ง ์์์ต๋๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ํํ๋ก ๊ณ ์ ๋ ๊ตฌ๊ฐ์ด ์ด๋ํ๋ฉด์ ๊ทธ ์ค ์ต์๊ฐ์ ์ฐพ๋ ๋ฌธ์ ๋๋ผ๊ตฌ์. N์ ์ต๋ ๋ฒ์๊ฐ 5,000,000์ด๋ฏ๋ก ์ ๋ ฌ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๊ฐ์ด๊ณผ์ ๋๋ค.์ ๋ ๋ฌธ์ ๋ฅผ ๋๊ฐ์ง ํํธ๋ก ๋๋ด์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ๊ตฌ๊ฐ์ด ์ด๋ํจ์ ๋ฐ๋ผ ์ต์๊ฐ ๋ฆฌ์คํธ๋ฅผ ๊ฐฑ์ ํด์ฃผ๋.. 2025. 4. 13. [๊ธฐ๋ณธ] ํฌ ํฌ์ธํฐ ๋ค์ด๊ฐ๋ฉฐํฌ ํฌ์ธํฐ๋ 2๊ฐ์ ํฌ์ธํฐ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ์ต์ ํํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ํ์ง๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ต์ํ์ง ์์ ์ฌ๋๋ค์ ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํ ์๊ฐ์ ์ฝ๊ฒ ํ์ง ๋ชปํฉ๋๋ค. ๋ฐ๋ผ์ ์ค๋์ ํฌ ํฌ์ธํฐ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์์๋ด ์๋ค. ํฌ ํฌ์ธํฐ๋ ์ธ์ ํ ๋ฆฌ์คํธ์์ ๋ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋กํด๊ฐ๋ฉด์ ์กฐ๊ฑด ์ฒดํฌ๋ฅผ ํด ๋๊ฐ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ๊ธฐ๋ก์ ๋๋ค. ํฌ์ธํฐ๊ฐ ๊ธฐ๋ก์ ํด๋๊ฐ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์์๋ฅผ ์ํํ๋ฉด์ ๋ณต์ก๋๋ฅผ ๋ญ๋นํ์ง ์์๋ ๋๋ค๋ ํฐ ์ฅ์ ์ด ์์ต๋๋ค. ํฌ ํฌ์ธํฐ๋ ๋ณํฉ์ ๋ ฌ(merge sort)์ counquer ์์ญ์ ๊ธฐ์ด๊ฐ ๋๊ธฐ๋ ํฉ๋๋ค. ๋ฌธ์ 1๋ฐฑ์ค 2018: ์๋ค์ ํฉ 5(๋งํฌ)๋ถ์์ฃผ์ด์ง ์ ํ์๊ฐ์ 2์ด์ธ๋ฐ N์ ์ต๋๊ฐ์ 10,000,000์ผ๋ก ๋งค์ฐ ํฌ๊ฒ ์กํ์์ต๋๋ค. nlogn์ .. 2025. 3. 25. [๊ธฐ๋ณธ] ๊ตฌ๊ฐํฉ ์์ฉ ๋ค์ด๊ฐ๋ฉฐ๊ตฌ๊ฐํฉ์ ์ค์์ฑ์ ๋ ์์๋ณด๊ณ ์ ๊ตฌ๊ฐํฉ๊ณผ ๊ด๋ จ๋ ์์ฉ๋ฌธ์ ๋ฅผ ๋ ํ์ด๋ณด๊ณ ์ ํฉ๋๋ค. ์ง๋ ๊ตฌ๊ฐํฉ๋ณด๋ค๋ ์กฐ๊ธ ๋ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ค์ ํ ๋ฒ ๊ตฌ๊ฐํฉ์ ๊ตฌํด๋๋ ๊ฒ์ด ์ผ๋ง๋ ์๊ฐ๋ณต์ก๋๋ฅผ ๋ฎ์ถฐ์ฃผ๋ ์ง ์ฒดํฌํด๋ณด๋ ์๊ฐ์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๋ฐฑ์ค 11660: ๊ตฌ๊ฐํฉ ๊ตฌํ๊ธฐ 5(๋งํฌ) ํ์ด1#include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int size, count; cin >> size >> count; vector> sumMetrix(size + 1); for (int i = 1; i num.. 2025. 3. 13. [๊ธฐ๋ณธ] ์คํ ์๋ฃ๊ตฌ์กฐ ํ์ฉ ์คํ์ ํ์ฉํด์ผํ๋ ๋ฌธ์ ์คํ์ ํ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๋ ๋ณดํต ์ง์ ์ง๋ ๋ฌธ์ ์ ๋๋ค. ๋จ๋ ๊ฐ ๋ฐ๋ณต๋ผ์ ๋ํ๋๊ฑฐ๋, ๋๋ฌผ ๋ฑ๋ฑ ๊ต์ฐจ๋ก ๋ฐ๋ณต๋๋ ์ํฉ์์ ์ง์ ๋ง์ถฐ์ผํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ ์ค ๋ํ์ ์ธ ๋ฌธ์ ๋ ๊ดํธ์ ๋๋ค. ๊ดํธ๋ ๋ฐ๋์ ์ฌ๋ ๊ดํธ์ ๋ซ๋ ๊ดํธ๊ฐ ์ง์ด ์ด๋ฃจ์ด์ ธ์ผ๊ฒ ์ฃ . ๊ทธ๋ ์ง ์์ผ๋ฉด, ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. jsonํ์ผ์ ๋ถ์ํ ๋๋ ๊ดํธ์ ์ฌ๋ซ์์ ๋ถ์ํด์ผ ํฉ๋๋ค. ์ค์ฒฉ์ผ๋ก ๊ฐ์ฒด๊ฐ ์์ ์ ์๊ณ ๊ทธ ๋ด๋ถ์ array๊น์ง ์๋ค๋ฉด, ํจ์ ์ฝ ์คํ ์ฒ๋ผ ๋ด๋ถ๋ก ๋ค์ด๊ฐ๋ค๊ฐ ๋์ฌ๋ ๋ซ๋ ๊ดํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น ์ ธ๋์ค๊ฒ ๋ฉ๋๋ค. ๋ฌธ์ ํ๊ธฐ๋ฐฑ์ค 9012: ๊ดํธ(๋งํฌ) ํ์ด#include #include #include #include #include using namespace std;int main() { .. 2025. 3. 10. ์ด์ 1 2 ๋ค์