这么简单的东西我现在才学,血亏... on tree大家都能翻译过来。至于dsu,大概就是并查集的意思吧。 但是这并不代表并查集上树了,只是代表用到了启发式合并的思想。 进入正题: 我们有一颗树,有对于子树的询问。这种题暴力就是遍历每个节点的子树中的所有信息暴力统计出来更新答案,然后消除该节点的贡献 ...
分类:
其他好文 时间:
2020-06-24 22:00:15
阅读次数:
46
数据表(dataList):待排元素的集合。 排序码(key):排序的关键字。 排序的稳定性:若相等的两个元素经过排序后顺序仍不变则称排序算法是稳定的。 一个b站学习视频 #一、快速排序 (一)原理 选择一个元素作为基准元素,将小于基准元素的都放在其左边,将大于基准元素的都放在其右边。这样序列就被划 ...
分类:
编程语言 时间:
2020-06-24 21:47:36
阅读次数:
70
为什么以它为例,因为这个最水,LCA唯一黄题。 首先做两道并查集的练习(估计已经忘光了)。简单来说并查集就是认爸爸找爸爸的算法。先根据线索理认爸爸,然后查询阶段如果发现他们的爸爸相同,那就是联通一家的,不同就不是一家的。 两道简单例题 P1551 亲戚 P1536 村村通 以P1551 亲戚为例 题 ...
分类:
编程语言 时间:
2020-06-24 20:14:58
阅读次数:
70
1. 概念 原子操作是指不被打断的操作,即它是最小的执行单位。最简单的原子操作就是一条条的汇编指令(不包括一些伪指令,伪指令会被汇编器解释成多条汇编指令)。在 linux 中原子操作对应的数据结构为 atomic_t,定义如下: typedef struct { int counter; } ato ...
分类:
其他好文 时间:
2020-06-24 19:57:50
阅读次数:
57
为什么使用 在项目开发中,常常需要边写前端页面边写后端接口,但是后端接口服务往往是滞后于前端开发的,或者是不能及时提供的。出于前端开发的迅速和便捷去考虑,我们可以根据后端接口数据结构去模拟(mock)数据从而实现前端的独立开发。 JsonServer 主要的作用就是搭建本地的数据接口,创建json文 ...
分类:
Web程序 时间:
2020-06-24 19:54:57
阅读次数:
85
数据类型 int(number 数字) str print("hello,world!","dasw",sep"") # 输出 define(定义) # shell(命令行) # arguments (参数) 数据结构 list(列表) tuple(元组) dict(字典) set(集合) 函数 类 ...
分类:
其他好文 时间:
2020-06-24 17:57:55
阅读次数:
87
1:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>[] table; 2:HashMap 的工作原理? HashMap 底层是 hash 数组和单向链表实现,数组中的每个 ...
分类:
其他好文 时间:
2020-06-24 15:48:49
阅读次数:
48
浏览器的前进、后退功能,我想你肯定很熟悉吧?当你依次访问完一串页面 a-b-c 之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面 b 和 a。当你后退到页面 a,点击前进按钮,就可以重新查看页面 b 和 c。但是,如果你后退到页面 b 后,点击了新 的页面 d,那就无法再通过前进、后退功能查看 ...
分类:
其他好文 时间:
2020-06-24 14:03:13
阅读次数:
76
如何理解“队列”? 队列这个概念非常好理解。你可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”。我们知道,栈只支持两个基本操作:入栈 push()和出栈 pop()。队列跟栈非常相似,支持的操作也很有限,最基本的 操作也是两个:入队 enqueue ...
分类:
其他好文 时间:
2020-06-24 14:02:37
阅读次数:
62
内存分布 数组需要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个 100MB 大小的数组,当内存中没有连续的、足够大的存储空间时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。而链表恰恰相反,它并不需要一块连续的内存空 间,它通过“指针”将一组零散的内存块串联起来使用,所 ...
分类:
其他好文 时间:
2020-06-24 12:11:15
阅读次数:
43