본문 바로가기

Solved.ac/Class 73

[BOJ] 백준 13537번: 수열과 쿼리 1 머지 소트 트리 + 이분탐색 아래글 참고. 2020/08/17 - [알고리즘] - 머지 소트, 머지 소트 트리 및 관련 백준 문제 풀이 #include #include #include #include #include #include using namespace std; typedef long long ll; int n, m, k; int arr[100001]; int mst[17][100002] = { 0, }; void make_tree(int s, int e,int depth) { if (s == e) { mst[depth][s] = arr[s]; } else { int mid = (s + e) / 2; make_tree(s, mid, depth + 1); make_tree(mid + 1, e, de.. 2020. 6. 22.
[BOJ] 백준 11408번: 열혈강호 5 MCMF (minimum cost maximum flow) 알고리즘을 사용하는 문제. 할 수 있는 일을 매칭하기 위하여 NF (Network Flow) 를 수행, 이 때 최소 비용을 구하기 위하여 SPFA + SLF 수행 #include #include #include #include using namespace std; int n, m; int ca[802][802]; int fl[802][802]; int cost[802][802]; int S = 0, D = 801; vector v[802]; int main() { cin >> n >> m; for (int i = 1; i > mo; cost[i][w + 400] = mo; cost[w+400][i] = -mo; v[i].push_back(w + .. 2020. 6. 22.
[BOJ] 백준 1017번: 소수쌍 소수 = 홀수 + 짝수의 조합으로만 가능한 아이디어를 시작으로 홀수와 짝수를 두 개의 그룹으로 나눠, 시작하는 수의 짝을 고정하여 이분매칭을 반복하는 문제 #include #include #include #include using namespace std; typedef long long ll; bool s[2001] = { 0, }; int arr[1001]; int ma[1001]; int curd; bool visit[1001]; int _lsize, _rsize; vector l, r; bool dfs(int node) { if (visit[node]) return false; visit[node] = true; for (int i = 0; i < _rsize; i++) { if (i != cur.. 2020. 6. 17.