update 와 Find 함수에서 %MOD 를 삭제하면 잘되네요.
거리들의 합이 정확하게 계산되어야 하는데, 상위 노드로 올라가면서 %MOD 를 취해서 값이 작아 질 수 있습니다.
값이 왜곡되어 거리 합이 정확하지 않게 될 것 같네요.
1280번 - 나무 심기
crypt9님 덕분에 며칠동안 풀지 못했던 문제를 해결했습니다..
200000*200000 수준은 ll범위에서 커버가 되니까
부분합 만드는 부분들에서는 굳이 mod를 할 필요가 없었고
했어도 데이터가 이상해지는군요.. 어찌됐든 최후 연산에서 mod를 하기때문에
아무 상관없다고 생각했는데
그부분에 대해서는 좀더 생각해보고 아무튼 댓글 너무 감사드립니다!
댓글을 작성하려면 로그인해야 합니다.
hello70825 4년 전
C++로 세그먼트 트리를 짜서 만들었는데 게시판에 있는 반례도 맞고, 제가 만든 반례도 정답대로 나오는데 어디가 틀린지 잘 모르겠습니다.
오버플로우 나올까봐 나오는 값들 족족 %MOD를 해놔서 오버플로우가 나올 것 같진 않은데 제가 놓친 것이 있을까요?
Seg_cnt는 어떤 좌표에 나무를 심은 개수, Seg_sum은 0으로부터 어떤 좌표까지의 거리입니다.(같은 좌표에 나무가 2개 있으면 그 좌표만큼 더해줍니다.)