일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트레킹
- 안드로이드 스튜디오
- 창훈쓰다
- 이분탐색
- 성화봉송주자
- 인간이 그리는 무늬
- 평창동계올림픽
- MST
- DP
- 위상정렬
- 다음 지도 api
- 생활코딩
- boj
- 삼성 코딩테스트
- yolo
- 캘리그라피
- 외판원 순회
- Segment Tree
- 언어의 온도
- 다이나믹 프로그래밍
- 다음 API
- 영어회화 100일의 기적
- BOJ 2098
- BFS
- 성화봉송
- multiset
- lower_bound
- upper_bound
- 비트마스크
- 그리디 알고리즘
- 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); ..