본문 바로가기

백준2

[알고리즘 문제풀이] 백준 16236 아기 상어(JAVA코드) https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net /** * 1. bfs 전체 탐색 * * 2. 탐색해서 먹을 수 있는 곳들을 체크. * * 3. 그 중 가장 거리가 가까운 물고기 먹기. * * 4. 거리가 가까운것들 중 우선순위 1. 위, 2. 왼쪽 * * 5. 이동은 1초 * * 6. 아기 상어가 몇초동안 물고기를 잡아먹을 수 있는지 출력. * * ---------------------------------------------- * .. 2022. 3. 23.
[알고리즘 개념] 세그먼트 트리(Segment Tree) / Java 세그먼트 트리란 특정 구간 내 데이터에 대한 연산(쿼리)을 빠르게 구할 수 있는 트리. ex) 특정 구간 합,최소값,최대값,평균값 등등 Segment : 부분.분할.나누다.분할하다. 시간복잡도 데이터 변경: O(logN) 연산: O(logN) 데이터 변경할때마다 M번 연산: O((logN +logN)*M) = O(MlogN) https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 문제 어떤 N.. 2022. 1. 17.