- 博客(4)
- 收藏
- 关注
原创 题解:洛谷P1937 [USACO10MAR]仓配置Barn Allocation
题目链接 https://www.luogu.org/problem/show?pid=1937 题目大意: 给定一些房间,每个房间都有容量大小,每一个询问会使一个区间内的房间容量-1,问你最多可以接受多少个询问 分析: 题目很显然涉及区间的操作,所以用线段树,但是我们该如何决定是否接受呢? 这里采用贪心的思想,按照右点排序每一个询问逐一满足,不满足就跳过看看下一个 注意,不能够按照左
2016-12-27 21:22:55
374
原创 浅谈数据结构-树状数组
例题: 已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 数列的长度<=100000;询问次数<=100000首先考虑普通的算法: 数组维护 ·修改O(1) ·查询O(n) 前缀和维护 ·修改O(n) ·查询O(1) 对于100000的数据,两种算法都不尽人意
2016-12-16 21:45:51
472
原创 浅谈算法-简单倍增及st表的应用
这篇文章是以前写的当时还用着pascal,还请见谅——蒟蒻mqy 倍增是一种思想,每次将考虑的范围扩大或减少一倍从而达到加速的效果,将某一步的O(n)优化到O(logn) 已经接触过的倍增 快速幂(每次将指数缩小一倍) 归并排序(每次将排序区间缩小一倍) 倍增在st表上的实现 St表又称稀疏表,f[I,j]是对于第i个点
2016-12-15 19:43:39
1187
原创 浅谈数据结构—堆(heap)
提出这样一个问题:输入一个序列a[1..n]进行m次操作·操作1:将x插入到数列中·操作2:输出最小值·操作3:将最小值删除(n,m先尝试按照普及组的思路去做方法1:无序表维护·插入O(1)·删除O(1)·查询O(n)方法2:有序表维护·插入O(n)·删除O(n)·查询O(1)很显然线性结构已经不满足这道题目的要求,然而我们可以用堆(he
2016-12-15 19:29:05
1064
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人