![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
snowwwwi
这个作者很懒,什么都没留下…
展开
-
acm总结——ST表
原理ST表基于倍增的思想,主要用来处理RMQ问题(区间最大或最小值问题),可以实现O(nlogn)的时间复杂度,O(1)的查询时间。预处理思想我们可以利用动态规划的方法预处理。我们使用dp(i , j)来表示区间[i , i + 2^j - 1]中的最值,对于预处理步骤中,我们还应该先预处理[i , i + 2^0 - 1]这个区间的最值,也就是[i, i]区间,所以很容易可以得到dp[i, 0] = a[i]。根据倍增的思想,我们可以状态转移方程为dp[i, j] = max(dp[i][原创 2022-03-23 20:37:42 · 676 阅读 · 0 评论 -
acm总结——链表
原理数组是一种支持随机访问,但不支持任意位置插入或者删除元素的数据结构,而链表可以在任意位置插入或者删除元素,但只能按顺序访问元素。链表一共分为三种:单链表、双链表、循环链表。单链表思路用value数组储存值,head代表头节点,只需用一个next数组存储下一个数的下标代码实现#include<bist/stc++.h>using namespace std;const int N = 1e6 + 10;int head;//表示头节点的下标int value[N]原创 2022-03-19 16:11:07 · 1684 阅读 · 0 评论