
算法基础课模板
清纯献给了作业
出于热爱,忠于完美。
展开
-
排序 二分
排序 1. 快排 2. 归并排序快速排序——分治void quick_sort(int q[], int l, int r){ if (l >= r) return; int x = q[l], i = l - 1, j = r + 1; while (i < j) { do i++; while (q[i] < x); do j--; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick原创 2021-07-13 12:11:20 · 103 阅读 · 0 评论 -
区间和 区间合并
区间和/*输入样例:3 31 23 67 51 34 67 8输出样例:805*/#include<iostream>#include<vector>#include<algorithm>using namespace std;const int N = 300010;typedef pair<int, int> PII;int n, m;int a[N], s[N];vector<int> alls原创 2021-08-08 02:19:02 · 178 阅读 · 0 评论 -
高精度 前缀和 差分
高精度A + Bvector<int> add(vector<int>& A, vector<int>& B){ vector<int> C; if (A.size() < B.size()) return add(B, A); int t = 0;//进位 for (int i = 0; i < A.size(); i++) { t += A[i]; if (i < B.size()) t +=原创 2021-07-17 09:00:30 · 86 阅读 · 0 评论