![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 52
中二病没有蛀牙
这个作者很懒,什么都没留下…
展开
-
面试复习之数据结构
树iii的左孩子2i2i2iiii的右孩子2i+12i+12i+1分块索引顺序查找块内无序,块内有序索引折半查找(速度嗖嗖的)low超出索引表,查找失败排序算法评价标准:时间复杂度空间复杂度稳定性(关键字相同的元素的在排序之后相对位置不改变)分类:内部排序,外部排序插入排序希尔排序(基于插入排序)初始时d=n2d = \frac{n}{2}d=2n冒泡排序交换排序包括冒泡排序和快速排序快速排序选择排序选择排序包括简单选择排序还有堆排序堆排序大根堆:原创 2021-09-23 22:41:42 · 559 阅读 · 2 评论 -
运输计划 lca+树上差分/前缀和+二分
链接:https://www.acwing.com/problem/content/description/523/思路:一个涉及了一堆知识点的老复杂的题目了。lca+树上差分+二分首先看数据范围是3e5,那么想一下怎么可以把复杂度降到 log(n)log(n)log(n)题目中要求的是完成m个运输计划所需的最短的时间。即m条路径中的最大值最小,那么就需要在出m个要求的路径中,找出两个点间重复的那段权值最大。然后发现这个时间是满足单调性的,可以想到对答案二分。设时间为mid,其实这里的时间就是路径原创 2021-03-28 11:34:21 · 210 阅读 · 0 评论 -
树状数组和线段树
树状数组某个位置加上一个位置(单点修改)O(logn)O(log_n)O(logn)求某一个前缀和 (区间查询) O(logn)O(log_n)O(logn)c(x)=c(x)+c(lowbit(x)+……)c(x) = c(x) + c(lowbit(x)+……)c(x)=c(x)+c(lowbit(x)+……)lowbit(x)=x&−xlowbit(x) = x\&-xlowbit(x)=x&−x树状数组公式:c(x)=(x−lowbit(x),x]c原创 2021-06-01 22:31:56 · 87 阅读 · 0 评论 -
Codeforces 709 div2 DPlaylist 双端队列+链表
链接:https://codeforces.com/contest/1484/problem/D题意:给你一个数组,每次找到一对互质的数时,删去其中第二个,不能连续删除,求最终删除的顺序。思路:按照题目模拟就好了,需要用数据结构优化。每次取出队首的数,判断是否和它的下一位互质,如果是的话将下一位删去,用数组模拟链表,就只需要将nex[x]指向nex[nex[x]],再将队首的数放回队尾。直到队列为空。这个题一开始我只用了双端队列来写,按上述思路模拟,也是对的,不过最后一个点会超时。就很神奇,加了原创 2021-03-30 11:57:02 · 172 阅读 · 0 评论