上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 39 下一页
摘要: 题目大意:维护一个长度为 N 的序列,支持单点插入,单点询问。 注意事项如下: build 函数中要记得初始化 fa。 插入两个端点值。 代码如下 cpp include define pb push_back define mp make_pair define all(x) x.begin(), 阅读全文
posted @ 2019-03-28 15:09 shellpicker 阅读(243) 评论(0) 推荐(1) 编辑
摘要: 题目大意:维护一个长度为 N 的序列,支持区间修改、单点查询。 代码如下 cpp include using namespace std; const int maxn=5e4+10; const int maxb=800; int n,m,a[maxn]; struct node{ int l,r 阅读全文
posted @ 2019-03-28 10:32 shellpicker 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护一个序列,支持区间染色,查询区间中等于某个颜色的点的个数。 题解:考虑直接用线段树进行维护,维护区间相同颜色值和一个区间颜色是否相同的标记即可。 代码如下 cpp include using namespace std; const int maxn=1e5+10; int n,m,a 阅读全文
posted @ 2019-03-28 09:35 shellpicker 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护 M 个差分约束关系,问是否可以满足所有约束,如果满足输出一组解。$N using namespace std; const int maxn=1e5+10; typedef long long ll; inline int read(){ int x=0,f=1;char ch; d 阅读全文
posted @ 2019-03-26 22:54 shellpicker 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个三维空间点的坐标,求对于任意一个点三维均小于等于这个点的点个数。 题解:学会了简单的 cdq 分治。 首先,先将第一维从小到大排序,再用类似归并排序的操作对第二维进行排序,在第二维合并的过程中,用树状数组维护第三维,统计左半部分对右半部分答案的贡献。 需要注意的几点问题,如下: 1 阅读全文
posted @ 2019-03-26 09:08 shellpicker 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,有 M 个点对答案的贡献为 1,其余为 0,现从起点出发,每次只能走 [s,t] 个单位,求从起点走到终点时答案贡献最小是多少。 题解:由于 N 很大,无法直接记录状态。观察发现 M 很小,且 [s,t] 也很小,因此,考虑到只有在答案贡献为 1 的点的 附近 阅读全文
posted @ 2019-03-25 21:07 shellpicker 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护一个序列,支持区间插入,区间删除,区间翻转,查询区间元素和,查询区间最大子段和操作。 题解:毒瘤题。。。QAQ打完这道题发现自己以前学了一个假的 Splay。。 对于区间操作,用 splay 处理是比较优先的选择。取出一段区间 [l,r] 的方式为:将 l 1 旋转到根节点,将 r+1 阅读全文
posted @ 2019-03-25 20:33 shellpicker 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题目大意:利用 splay 维护序列,支持区间反转操作。 题解:这里用 splay 维护的是下标的偏序关系,最后查询时也是按照下标从小到大进行查询。注:初始化引入两个极值点的作用是避免考虑 l 1,r+1 越界带来的不必要的麻烦。 代码如下 cpp include using namespace s 阅读全文
posted @ 2019-03-25 12:54 shellpicker 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的序列,支持区间开根,区间求和。 题解:对于区间开根操作,可以发现任何一个位置的值开根至多 6 次就会变成 1。因此即使是整个区间开根,暴力修改6次后,所有的点的权值均小于等于1,即 $O(6n)$ 时间之后,再修改对序列的值已经不会产生影响,因此忽略后面的开根操作即可 阅读全文
posted @ 2019-03-25 08:54 shellpicker 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长度为 N 的递增序列,有 M 组差分约束关系,求满足这些约束关系时,第一个数和第 N 个数的差是多少。 题解:首先,能否满足约束关系需要判断一下负环,若满足约束关系,再从第一个点 spfa 即可求出答案。大于小于号打反检查一个小时,好久没遇到这种错误了。。我枯了QAQ。。。。 代 阅读全文
posted @ 2019-03-23 18:16 shellpicker 阅读(118) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 39 下一页