티스토리 뷰
boj 2934 : CVJETICI(LRH 식물)
https://www.acmicpc.net/problem/2934
펜윅트리를 이용하여 해결할 수있다.
울타리 기둥의 좌표가 주어졌을 때 그 울타리를 가로지르는 팬스의 갯수를 구하는 데 펜윅트리를 이용한다.
먼저 펜윅트리는 구간의 합을 빠르게 구하는 데 쓰인다. 이를 응용하면 좌표가 주어졌을 때 '그 좌표를 포함하는 구간들' 의 갯수를 빠르게 구할 수 있다.
울타리의 left, right가 주어질 때 add(left + 1,1), add(right,-1)이렇게 하면 해당구간을 가로지르는 펜스의 갯수를 누적할 수 있다.
이렇게 하면 sum연산으로 누적되어있는 울타리의 수를 알아낼 수 있다.
그렇다면 남은건 이미 피어있는 꽃에 대한 처리는 어떻게해줘야하는가? 에대한 문제인데, 위의 방법과 마찬가지로 꽃이 필 개수인 sum(기둥좌표)를 구하고
1. add(기둥위치, -sum(기둥좌표))
2. add(기둥위치, +sum(기둥좌표))
이렇게 해주면 이미 피어있는 꽃에 대한 처리를 해줄 수 있다.
'Problem Solving' 카테고리의 다른 글
boj 1701 : editor (0) | 2016.08.30 |
---|---|
boj 2841: GITARA (0) | 2016.08.29 |
boj 1333 : 부재중 전화 (2) | 2016.08.29 |
boj 3055 : SLIKAR (1) | 2016.08.29 |
boj 2725 : Visible Lattice Points (0) | 2016.08.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 20193
- 10159
- 네블컵 2회
- 화려한 정사각형
- BOJ
- 백준알고리즘
- 같은 탑
- Rectangles
- 최대거리
- SCPC 2016
- 11060
- 소수 쌍
- scpc
- 2381
- 쿨한 물건 구매
- 2015 1차 예선
- 2차 예선
- 풀이
- 1238
- 백준
- 2016 1차 예선
- 점프 점프
- 이분매칭
- 비트와 가희
- 연습문제
- codeground
- 캠퍼스와 도로(1)
- 16153
- 2469
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함