随笔分类 - 小算法
摘要:STL使用技巧 1.lower_bound&upper_bound 这个对所有身stl排序容器都是适用的,返回的是地址值。然后查询范围是begin到end-1,如果没查到就是返回end #include<bits/stdc++.h>using namespace std;#define fl(i,
阅读全文
摘要:二维前缀和和差分 1.二维前缀和 前缀和主要是查询区间和变成了常数。 首先是预处理, 接着是如何求(x1,y1)到(x2,y2)区间的值 2.差分数组 差分数组其实就是对前缀和的逆运算。比如b[1]就是a[1]-a[0];也就是对差分数组求前缀和就可以求出原数组。 差分数组主要是用来对于区间都加上一
阅读全文
摘要:二分板子 1,整数二分 bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, int r){ while (l < r) { int mid
阅读全文
摘要:离散化 1.第一种离散化 这个是分三步操作 先用一个b数组把原数组存起来 对b数组进行排序去重 然后找原数组在b的位置 这个思想因该很简单 #include<iostream>#include<algorithm>using namespace std;int a[1000100],b[100010
阅读全文