jhjh9501   4년 전

두개의 세그먼트 트리를 사용했습니다.

첫번째 세그먼트 트리의 리프에는 각 좌표에 있는 나무들의 원점으로부터의 거리 합을..

그러니까 나무가 두 개가 4 좌표에 있으면 첫 번째 세그먼트 tree의 리프에는 -> leaf[4] = 4*2

이렇게 되어있고 다른 세그먼트 cnt의 leaf에는 갯수로 -> leaf[4] = 2

이런 식으로 만들어놓고,

각 좌표가 들어올때마다  두 세그먼트 트리에 각각 값을 업데이트 한뒤,

좌표 좌우에서 가격에 해당하는 값을 계산합니다.

구체적으로 첫 번째 세그먼트 트리를 통해 새로 심은 나무 전후에 있는 나무들의 거리 합을 구하고

두 번째 세그먼트 트리를 통해 새로 심은 나무 전후에 있는 나무 갯수를 따로따로구해서 계산해주는 방식인데...

시간초과가 납니다. ㅠㅠ왜날까요 ㅠㅠㅠㅠㅠㅠ

djm03178   4년 전

이 코드에서 40번째 줄만 지우고 내봤는데 5912ms로 통과합니다.

댓글을 작성하려면 로그인해야 합니다.