摘要: 题目 • 很容易想到分块。 • 类似于区间众数的操作。 • 首先预处理出两个数组: 1. f 二维数组表示两个块为左右边界的序列的答案。 2. s 二维数组处理出从第一个块到某一个块之间每 个数出现的次数。 • 对于询问其实和预处理 f 数组的做法差不多。 1 #include<bits/stdc+ 阅读全文
posted @ 2019-02-24 21:39 Hevix 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段。记第 i 条被插入的线段的标号为 i 2.给定一个数 k,询问与直线 x = k 相交的线段中,交点最靠上的线段的编号。 • 沿用线段树的一般套路,保存的线段信息为线段的表达式。 • 更新线段的过程: 1.在线段树中找到该线段对应的区间 阅读全文
posted @ 2019-02-24 12:07 Hevix 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 启发式合并是对集合合并类问题的一种高效处理方式。 • 通常启发式合并优化的是合并多个相同数据结构的时间,通过暴力的合并来 将两个相同的数据结构合并,从而使得维护的零散信息(性质)逐渐合一。 • 举个十分简单的例子:起初有 n 个数组,且每个数组有且仅有 1 个数,接下 来有 n-1 个指令,需要你每 阅读全文
posted @ 2019-02-24 11:29 Hevix 阅读(138) 评论(0) 推荐(0) 编辑
摘要: P3834 【模板】可持久化线段树 1(主席树) 静态区间第k小。 主席树模板题 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m,x,y,k; 4 struct node 5 { 6 int l,r,sum; 7 }num[340 阅读全文
posted @ 2019-02-24 10:54 Hevix 阅读(820) 评论(1) 推荐(0) 编辑