
蓝书学习
qwerty559
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态范围最小值问题
给出一个有n个元素的数组,设计一个数据结构,支持以下两种操作。Update(x,v):把修改为v。 Query(L,R):计算// 线段树 #include<cstdio>#include<algorithm>using namespace std;const int maxn = 10005;const int inf = 0x3f3f3f3f;i...原创 2019-08-05 10:11:18 · 332 阅读 · 0 评论 -
连续和查询问题
给定一个n个元素的数组,,...,,设计一个数据结构,支持一个查询操作Query(L,R):计算。如果每次利用循环来计算,单次查询需要的时间,效率太低。如果借助前缀和的思想,可以花时间事先计算好(定义),因为,每次查询都只需要时间。#include<stdio.h>const int maxn = 10005;int s[maxn];int main() { ...原创 2019-08-05 08:36:07 · 158 阅读 · 0 评论 -
动态连续和查询问题
给定一个n个元素的数组,设计一个数据结构支持以下两种操作。Add(x,d)操作:让增加d。 Query(L,R):计算。// 二叉索引树#include<stdio.h>const int maxn = 10005;int c[maxn];int n;int lowbit(int x) { return x & (-x);}void add(in...原创 2019-08-05 08:48:39 · 146 阅读 · 0 评论 -
范围最小值问题(RMQ)
给出一个n个元素的数组,设计一个数据结构,支持查询操作Query(L,R):计算。// Tarjan的Sparse-Table算法#include<cstdio>#include<algorithm>using namespace std;const int maxn = 10005;int a[maxn], d[maxn][20]; // d[i][j]...原创 2019-08-05 09:13:39 · 270 阅读 · 0 评论 -
快速序列操作I
给出一个n个元素的数组,设计一个数据结构,支持以下两种操作。Add(L,R,v):把的值全部增加v。 Query(L,R):计算子序列的元素和、最小值和最大值。#include<cstdio>#include<algorithm>using namespace std;const int maxn = 10005;const int inf = 0x3f...原创 2019-08-05 11:53:31 · 203 阅读 · 0 评论