最新 最热

ACM算法竞赛——位运算(模板)

程序中的所有数在计算机内存中都是以二进制的形式存储的。位运算就是直接对整数在内存中的二进制位进行操作

2022-05-14
1

ACM算法竞赛——差分(模板)

一维差分给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c二维差分给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c:S[x1, y1] += c, S[x2 + 1, y1] -= c, S[x1, y2 + 1] -= c, S[x2 + 1,......

2022-05-14
1

ACM算法竞赛——前缀和(模板)

一维前缀和S[i] = a[1] + a[2] + ... a[i]a[l] + ... + a[r] = S[r] - S[l - 1]二维前缀和S[i, j] = 第i行j列格子左上部分所有元素的和以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵的和为:S[x2, y2] - S[x1 - ......

2022-05-14
1

ACM算法竞赛——高精度除以低精度(模板)

// A / b = C ... r, A >= 0, b > 0vector<int> div(vector<int> &A, int b, int &r){ vector<int> C; r = 0; for (int i = A.size() - 1; i >= 0; i -- ) ...

2022-05-14
1

ACM算法竞赛——高精度乘低精度(模板)

// C = A * b, A >= 0, b >= 0vector<int> mul(vector<int> &A, int b){ vector<int> C; int t = 0; for (int i = 0; i < A.size() || t; i ++ ) { ...

2022-05-14
1

ACM算法竞赛——高精度减法(模板)

// C = A - B, 满足A >= B, A >= 0, B >= 0vector<int> sub(vector<int> &A, vector<int> &B){ vector<int> C; for (int i = 0, t = 0; i < A.size(); i ++ ) ......

2022-05-14
1

ACM算法竞赛——高精度加法(模板)

// C = A + B, A >= 0, B >= 0vector<int> add(vector<int> &A, vector<int> &B){ if (A.size() < B.size()) return add(B, A); vector<int> C; int t = 0;...

2022-05-14
1

ACM算法竞赛——浮点数二分(模板)

浮点数二分算法代码比整数二分算法简洁易懂,也不需要处理复杂的边界问题bool check(double x) {/* ... */} // 检查x是否满足某种性质double bsearch_3(double l, double r){ const double eps = 1e-6; // eps......

2022-05-14
1

ACM算法竞赛——区间合并(模板)

// 将所有存在交集的区间合并void merge(vector<PII> &segs){ vector<PII> res; sort(segs.begin(), segs.end()); int st = -2e9, ed = -2e9; for (auto seg : seg...

2022-05-13
1

ACM算法竞赛——整数二分算法(模板)

整数二分用于快速查找某一值所在位置,有序一定可二分,二分的条件不一定有序,但一般是有序

2022-05-13
1