树状数组
Bug原产地
这个作者很懒,什么都没留下…
展开
-
牛牛种花 ( 树状数组 + 离散化 )
题目链接 解题报告: 考虑对询问离线,将询问和种植的花的位置以x为第一关键词,y为第二关键词升序。 这样保证后面的x不小于前面的x,这样的花只需要统计前面有多少个y小于查询位置的y即可。树状数组维护一下即可。 数据范围较大,注意离散化。 #include<bits/stdc++.h> #define LL long long #define pii pair<int,int> #define mem(a,b) memset(a,b,sizeof(a)) using namespac原创 2020-06-24 10:57:06 · 344 阅读 · 0 评论 -
牛客练习赛56 C ( 动规 + 树状数组 )
题目链接: #define first f #define second s #define ll long long #define mp make_pair #define pb push_back #define pf push_front #define lb lower_bound #define ub upper_bound #include <bits/stdc++.h>...原创 2020-03-26 13:02:48 · 99 阅读 · 0 评论 -
tokitsukaze and Inverse Number ( 逆序数定理 + 思维 )
题目链接 解题报告: #include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; int tree[maxn],n,a[maxn]; int lowbit(int x) { return x&(-x); } void modify(int x) { for(int i=x;i<...原创 2020-03-21 15:29:33 · 340 阅读 · 0 评论 -
树状数组离线查询操作
题目戳我 题意:给你长度为n的数组,有m次询问,每次询问查询区间内不重复数之和 分析: 1)由于 n<=30000,而数组元素大小<=1e9,故有必要离散化一下,或者用map 2)首先我们对询问区间按右端点升序排序,然后对数组依次进行处理,如果当前元素未在之前出现过,则将它更新进树状数组中并记录该数出现在数组的位置;若出现了,首先将其删除(之前已经记录了位置),再重新将其更新进树状数组...原创 2020-01-16 14:14:31 · 275 阅读 · 0 评论