摘要: 树状数组 本博客仅贴出树状数组模板 #include <bits/stdc++.h> #define lowbit(x) (x & -x) using namespace std; const int N = 10010; int a[N], n; //a[x] += c void insert(i 阅读全文
posted @ 2020-06-23 18:22 Waitti 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 归并排序 给定长度为n的序列,归并排序并输出序列 我们把归并排序这样的大问题拆成两个小问题: 即将大数组分割成两个小数组,对这两个小数组分别进行归并排序并合并这两个小数组来得到一个排好序的大数组。 简单来说就两步:拆分,合并。 拆分是将原数组拆分成几个小段 合并是将这几个小段再合起来 #includ 阅读全文
posted @ 2020-06-23 16:58 Waitti 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 差分 给定长度为n的序列,有m个更新,每次更新要求使[l, r]范围内的数增加c,给出最后的序列。 朴素思想当然是直接一个循环使得[l, r]范围内的数直接都加c,但是这样做的话复杂度是O(nm)。 如果我们能用O(1)的操作来完成每一次的更新就好了。 所以引入差分序列:设有序列sub[],sub[ 阅读全文
posted @ 2020-06-23 16:34 Waitti 阅读(144) 评论(0) 推荐(0) 编辑