일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- multiset
- 성화봉송주자
- upper_bound
- boj
- 이분탐색
- 인간이 그리는 무늬
- yolo
- 다이나믹 프로그래밍
- BOJ 2098
- 외판원 순회
- DP
- MST
- 언어의 온도
- Segment Tree
- 영어회화 100일의 기적
- 캘리그라피
- 성화봉송
- 백트레킹
- 위상정렬
- 평창동계올림픽
- 다음 지도 api
- 비트마스크
- BFS
- lower_bound
- 창훈쓰다
- 그리디 알고리즘
- 안드로이드 스튜디오
- 생활코딩
- 삼성 코딩테스트
- 다음 API
- Today
- Total
목록Segment Tree (2)
Hoon222y
int find(int val, int node, int x, int y){ if (x == y) return x; if (seg[node * 2] >= val) return find(val, node * 2, x, (x + y) / 2); else return find(val - seg[node * 2], node * 2 + 1, (x + y) / 2 + 1, y); } 이런식으로도 구현을 하더라 ... 개쩐당 ... 은 합을 구하는 문제인데 https://www.acmicpc.net/problem/1321 #include #include #include #include #include #include #include #include #include #include #include #include #d..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include #include #include #include using namespace std;void init(vector &tree, vector &a, int node, int start, int end) { if (start == end) { tree[node] = a[start]; } else { init(tree, a, node*2, start, (start+end)/2); init(tree, a, node*2+1, (start+end)/2+1, end); ..