摘要: 树状数组 本博客仅贴出树状数组模板 #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) 编辑
摘要: 前缀和 输入长度为n的序列,给出m个询问,每个询问给出l,r,求sum([l, r]) 显然我们不能对于每个询问都从l加到r,这样的复杂度是O(nm)。 所以引出了前缀和,设原数组为a[],我们新建一个数组为sum[],对于sum数组,我们令sum[1] = a[1], sum[2] = a[1] 阅读全文
posted @ 2020-06-22 23:16 Waitti 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 64位整数乘法 求a乘b对p取模的值。 众所周知,64位整数乘以64位整数最大是可以达到128位的,所以使用long long就肯定会爆炸,所以我们可以使用128位整数。 #include <bits/stdc++.h> using namespace std; int main() { long 阅读全文
posted @ 2020-06-22 22:53 Waitti 阅读(667) 评论(0) 推荐(0) 编辑
摘要: MySQL8 常用指令 先说明版本问题:在使用mysql的时候如果发现任何的登陆不上去,用户名密码错误,请先检查mysql版本,5.7和8实在是差太多了 Linux下如何安装mysql8(默认会安装mysql5.7) 时区 密码 JDBC的URL配置 上海时间(东八区) 使用Unicode utf 阅读全文
posted @ 2020-03-26 10:29 Waitti 阅读(451) 评论(0) 推荐(0) 编辑