随笔分类 -  3.07.0 树状数组

摘要:树状数组 + 倍增 动态维护第k大 注意倍增是 include include include include using namespace std; const int MAXN = 100005; int n, c[MAXN], lg[MAXN], po[MAXN], sum, ans, nu 阅读全文
posted @ 2018-03-20 20:52 Mr_Wolfram 阅读(158) 评论(0) 推荐(0)
摘要:树状数组 本题数据有误 对于每一个点用权值树状数组维护在这个点之后之前的比他大和比他小的数 cpp include include include include include include include using namespace std; define lson rt 1; if(po 阅读全文
posted @ 2018-03-19 20:12 Mr_Wolfram 阅读(346) 评论(0) 推荐(0)
摘要:树状数组求法(权值树状数组) $O((N + M) log M)$ 对于值域较大的要离散化 cpp include include include include include using namespace std; const int MAXN = 40005; int init() { in 阅读全文
posted @ 2018-03-19 08:17 Mr_Wolfram 阅读(154) 评论(0) 推荐(0)
摘要:单点修改,区间查询 cpp include include include include include define ll long long using namespace std; const int MAXN = 500005; ll init() { ll rv = 0, fh = 1; 阅读全文
posted @ 2018-03-18 20:49 Mr_Wolfram 阅读(131) 评论(0) 推荐(0)
摘要:离线扫描线+查分+线段树 我们发现,这个题的询问都是离线的,所以我们尝试用离线扫描线的方法来处理 对于每一次操作,我们维护一个差分数组, 在询问的时候,我们用一根扫描线,从左往右扫,并用线段树维护,每种礼物的次数, 每扫到一个人,先处理在这个人处的操作,然后查询最大值即可 cpp include i 阅读全文
posted @ 2018-02-14 21:56 Mr_Wolfram 阅读(170) 评论(3) 推荐(0)