이 문제 할 때 plane sweeping 쓰는 건 알겠습니다. x축을 따라서 지도가 있는 넓이를 더해주는 식으로 구현하려고 했더니 문제가 생겼습니다.특정x값에서의 전체 y범위 중 특정y범위는 지도가 겹치는 부분일테고 어떤 y범위는 아예 지도가 없는 부분일 테고 어떤 y범위는 지도가 하나있는 부분일텐데 이런 정보들을 segment tree내에 어떻게 저장해야 되는지가 고민입니다.
예를 들어서 1~9구간에서 -1 해야 되는데 1~4 와 7~9는 두번 겹친 상황이고 5~6은 하나만 있는 상황 일 때는 seg_tree배열의 1~9구간에 해당하는 값에서 -1해주면 안되잖아요? 그래서 아래로 내려가라는 표시로 seg_tree배열의 1~9구간에 해당하는 값을 -1로 설정했는데요.. 이런식으로 계속 내려가게 되면 재귀호출의 수가 증가해버려서 시간초과가 뜨게 됩니다...
mic1021 8년 전
이 문제 할 때 plane sweeping 쓰는 건 알겠습니다. x축을 따라서 지도가 있는 넓이를 더해주는 식으로 구현하려고 했더니 문제가 생겼습니다.특정x값에서의 전체 y범위 중 특정y범위는 지도가 겹치는 부분일테고 어떤 y범위는 아예 지도가 없는 부분일 테고 어떤 y범위는 지도가 하나있는 부분일텐데 이런 정보들을 segment tree내에 어떻게 저장해야 되는지가 고민입니다.