摘要: 树状数组最基本应用吧 cpp //ios::sync_with_stdio(false); include using namespace std; const int MAXN = 500010; int n,m; int C[MAXN]; int lowbit(int x) { return x 阅读全文
posted @ 2019-02-17 21:45 新新人類 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 树状数组 = O(logn) 单点修改 ,O(logn) 区间查询 如果要做到 区间修改 单点查询 我们就要加入差分的思想 用树状数组记录数组的差分 然后对差分进行前缀和就可以得到单点的数据 cpp //ios::sync_with_stdio(false); include define ll l 阅读全文
posted @ 2019-02-17 21:44 新新人類 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 今天再次入门线段树 有了一点点感觉 线段树在有结合律性质的区间操作都可以用~~也许~~ ~~然而我并不会~~ cpp include define ll long long define INF 0x3f3f3f3f define FOR(i,n) for(int i = 1 ; (i) 1; bu 阅读全文
posted @ 2019-02-17 21:42 新新人類 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 单调队列的一道经典题 单调队列 就是在基础队列的基础上加入单调性, 如果答案有单调性要求可以使用(后出现的弱的答案 无法对当前答案进行影响) 遍历的复杂度是O(n)的 cpp include using namespace std; const int maxn = 1e6 + 10; int mi 阅读全文
posted @ 2019-02-17 21:39 新新人類 阅读(116) 评论(0) 推荐(0) 编辑