#include using namespace std; typedef long long ll; typedef pair pii; typedef pair pll; mt19937 rng(chrono::high_resolution_clock().now().time_since_epoch().count()); ll rand(ll l, ll r) { return uniform_int_distribution(l, r)(rng); } void compile() { system("g++ -std=c++17 -O2 -o PROBLEM grader.cpp PROBLEM.cpp"); system("g++ -std=c++17 -O2 -o PROBLEM2 grader.cpp PROBLEM2.cpp"); } void input() {..
https://www.acmicpc.net/workbook/view/914 수열과 쿼리 1, 3 https://www.acmicpc.net/problem/13537 https://www.acmicpc.net/problem/13544 Merge Sort Tree를 이용하여 해결할 수 있다. 주어진 구간의 $logN$ 개의 노드들에 대하여 K 이상의 수들을 이분탐색하면 $O(NlogN+Qlog^2{N})$ 안에 해결할 수 있다. 수열과 쿼리 5 https://www.acmicpc.net/problem/13547 Mo's algorithm 으로 해결할 수 있다. 특정 구간에 오른쪽, 왼쪽에서 삽입, 삭제하는 시간이 O(T) 라 한다면 전체 시간복잡도는 $O(N^{1.5}T)$ 안에 해결할 수 있다. 서로 다른..
- Total
- Today
- Yesterday
- convex hull
- graph
- APIO
- tree
- ⭐
- Persistent Segment Tree
- stack
- Shortest path
- Merge Sort
- Fenwick Tree
- DP
- Greedy
- Codeforces
- Lazy Propagation
- Sparse Table
- Parametric Search
- ioi
- offline
- BOJ
- Interactive
- DFS
- CHT
- Line sweeping
- Divide & Conquer
- Sqrt Decomposition
- Union Find
- HLD
- Segment Tree
- Floyd-Warshall
- Centroid Decomposition
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |