摘要: 哈希表 CSDN 哈希表的作用 哈希表是在键和值之间通过散列函数建立对应关系,将一个庞大的值域映射到一个比较小的空间,并使得元素的查找可以以\(O(1)\)的效率进行 例将\(0\sim 10^9 \to 0\sim 10^5\) \[Loc(i) = Hash(key_i) \] 常见的散列函数 阅读全文
posted @ 2023-08-27 23:28 -37- 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 又名优先队列 堆由完全二叉树构成,其每个节点都有一个键值,且每个节点的键值都大于等于/小于等于其父亲的键值 每个节点的键值都大于等于其父亲键值的堆叫做小根堆,否则叫做大根堆。STL 中的 `priority_queue` 其实就是一个大根堆 我们模拟的是**小根堆**,下标从1开始 1是根节点,令$ 阅读全文
posted @ 2023-08-27 23:25 -37- 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1. 将两个集合合并 2. 询问两个元素是否在一个集合当中 基本原理:每个集合用一棵树表示,树根的编号就是整个集合的编号。每个节点储存它的父节点,p[x]表示x的父节点 判断树根(属于那个集合)`if (p[x] == x)` 求x的集合编号:`while(p[x] != x) x = p[x];` 阅读全文
posted @ 2023-08-27 23:24 -37- 阅读(4) 评论(0) 推荐(0) 编辑
摘要: ## 评测指标 ### 预测准确度 #### 评分预测 预测用户对物品的评分 ${r_{ui}}$ = 用户u对物品i的实际评分 ${\hat r_{ui}}$ = 推荐系统给出的预测评分 RMSE(均方根误差) MAE(平均绝对误差) $$ RMSE\ =\ \sqrt {\frac{{{\sum 阅读全文
posted @ 2023-08-27 23:22 -37- 阅读(18) 评论(0) 推荐(0) 编辑
摘要: ## 定理 若m为正整数,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)$\div$ m得到一个整数,那么就称整数**a与b对模m同余**,记作`a≡b(mod m)` **两个数的和,差,积的余数等于余数的和,差,积** 因为多个数可以分解为多步两个数的运算,所以以上结论在多个数的情况 阅读全文
posted @ 2023-08-27 23:21 -37- 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 质数: 在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数 合数:在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数 约数(因数) :能够将一个数整除的数 质因数:能够将一个数整除的质数 互质:公约数只有1的两个整数 ## 质数 质数:在大于1的整数中,如果只包含1和本 阅读全文
posted @ 2023-08-27 23:19 -37- 阅读(38) 评论(0) 推荐(0) 编辑
摘要: # 用vector或set建立邻接表 在一般情况下使用链表建立的邻接表就行,但若对节点下的子树的顺序有要求的话(树和图的搜索),链表显然不方便,他的顺序在输入时就固定了,所以这时就可以使用`vector`或`set`来构建邻接表了 这样也就方便排序了 [P5318 【深基18.例3】查找文献 - 洛 阅读全文
posted @ 2023-08-27 23:01 -37- 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ## 树和图的存储 无向图:没方向 建图需要在两个节点间建两条相反的边 ```c++ add(a, b), add(b, a); ``` 有向图:有方向 领接矩阵:`g[a,b] = 权重`$a\to b$ 邻接表(常用):每个点上都有一个单链表,存储该点能到哪些点上去 若有权重则加个`w[N]`数 阅读全文
posted @ 2023-08-27 13:23 -37- 阅读(15) 评论(0) 推荐(0) 编辑