티스토리 뷰
문제 링크 : https://www.acmicpc.net/problem/22876
22876번: 츠바메가에시
"츠바메가에시"(つばめがえし)는 일본의 검사 "사사키 코지로"가 날아가는 제비를 베었다고 전해지는 검 초식의 이름이다. 기록상으로는 세 번 연속 칼질을 했다고 전해지나, 실제로 기술을 재
www.acmicpc.net
어릴 적 게임에서 보았던 이름을 보게 되어 반가운 마음으로 문제를 읽었는데...
후회했다.
매 번 세그먼트 트리를 설명할 수 없으니 세그먼트 트리에 대한 설명은 여기 를 참조하자.
일단 예외적인 경우부터,
행이나 열이 3 개 이하이면 모두 제거할 수 있으니 답은 전체 제비의 합이다.
위의 경우가 아니라면,
1 행을 제거하면 모든 열(수십만 개일 수 있는)에 합에 영향을 미치고(update),
변경된 열이 합들 중에서 큰 값 두개를 찾아야(query) 한다.
문제가 세그먼트 트리 카테고리에 있지 않더라도 다른 방법은 생각나지 않을 듯하다.
1. coor_compress 함수가 하는 일을 이해하면 나머지는 보이는 것만큼 복잡하지 않다.
2. xSum 은 x 좌표에 대응되는 열의 모든 원소의 합들을 보관하고 ySum 은 y 좌표에 대해 같은 역할.
3. 작명 수준을 알려주는 xyrr 은 같은 x 좌표에 대응되는 점들의 y 좌표들과 그에 따른 값을 저장하는 이중 배열
4. segment tree 는 으뜸, 버금 값을 저장하는 구조
반응형
'DS\Algo' 카테고리의 다른 글
BOJ 5052 Phone List ( 전화번호 목록 ) (0) | 2022.10.02 |
---|---|
BOJ 9084 동전 (1) | 2022.10.02 |
BOJ 2407 조합 (C++) (0) | 2022.09.20 |
BOJ 2338 긴자리 계산 (C++) (0) | 2022.09.18 |
BOJ 1854 K 번째 최단경로 찾기 (0) | 2022.09.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C++ big number
- max flow
- stack
- 다익스트라
- math font
- Reference
- Vim
- python3
- Shell Programming
- bash script
- RUBY
- Aho-Corasick
- BOJ
- JavaScript
- persistent segment tree
- lazy propagation
- map
- 백준
- number theory
- shell
- Dijkstra
- nearest common ancestor
- dynamic programming
- fenwick tree
- javascript array
- 정수론
- script
- bash
- 세그먼트 트리
- segment tree
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함