上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 29 下一页
摘要: 哈希表的时间复杂度近似O(1) 什么情况下需要用到哈希表 把一个庞大的值域,映射到一个较小的(10 ^ 5 ~ 10 ^ 6左右)值域 之前的离散化是一种极其特殊的哈希方式,之前的离散化需要保序的,需要保证单调递增 现在说的是一般意义的哈希 定义一个哈希函数h() 使得h(x)的值域属于0 ~ 10 阅读全文
posted @ 2020-07-15 12:12 kyk333 阅读(211) 评论(0) 推荐(0)
摘要: 这几道题目的运行结果是多少 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() { 4 cout << "1: " << 7 / 4 << endl; 5 cout << "2: " << (-7) / 4 << endl; 阅读全文
posted @ 2020-07-15 10:36 kyk333 阅读(953) 评论(0) 推荐(0)
摘要: 主要用在图论的Dijkstra算法 首先需要知道第k个插入的点是堆里面的哪个点 还需要知道堆里面的某个点是第几个插入的点 第j个插入的点是堆里面的k 堆里面的k是第j个插入的点 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int 阅读全文
posted @ 2020-07-15 08:01 kyk333 阅读(152) 评论(0) 推荐(0)
摘要: 对应到c++容器是优先队列 优先队列做法 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() { 4 int n, m; 5 cin >> n >> m; 6 priority_queue<int, vector<int>, 阅读全文
posted @ 2020-07-15 06:44 kyk333 阅读(195) 评论(0) 推荐(0)
摘要: 这是用并查集维护每个点和根节点的关系 只要我们知道了每个点和根节点的关系,就可以知道每两个点之间的关系 就和族谱一个道理,简单举个例子 假设族谱里最上面的那个人(根节点)是爷爷 然后A是爷爷(根节点)的儿子 B是爷爷(根节点)的孙子 那么就可以知道A和B的关系,A和B是父子 大致就是这个意思 然后这 阅读全文
posted @ 2020-07-14 16:27 kyk333 阅读(301) 评论(0) 推荐(0)
摘要: 用并查集维护每个集合中的元素个数 还是用集合来维护连通块 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N = 100010; 4 int p[N]; //存储每个元素父节点是谁 5 int se[N]; //记录每一个集 阅读全文
posted @ 2020-07-14 13:19 kyk333 阅读(219) 评论(0) 推荐(0)
摘要: 并查集的作用 并查集是用树的形式维护所有集合 每一个集合用一个树来维护 每一个集合的编号是它根节点的编号 令每一个树根的p[x] = x 然后对于每一个点,都存储一下这个点的父节点是谁,p[x] = ? 然后当我们想求某个点属于哪个集合的时候 就找到这个点的father,然后看其是不是树根,不是的话 阅读全文
posted @ 2020-07-14 12:25 kyk333 阅读(213) 评论(0) 推荐(0)
摘要: 可以选俩一样的数,但自己异或自己结果是0,不是最优解 预备知识,啥是异或 暴力做法就是两层for循环枚举所有可能 暴力的思路就是 1:首先选定一个Ai(1 <= i <= n) 2:在A1 ~ An中选择一个数Aj,使得Ai ^ Aj的值最大 突破点在第2步 首先Ai一定小于等于31位,也就是0 < 阅读全文
posted @ 2020-07-13 02:28 kyk333 阅读(193) 评论(0) 推荐(0)
摘要: Trie树的定义 适用于Trie树的题目的特点: 这些字符串要么都是小写字母,要么都是大写字母,要么就是数字,要么就是0和1 反正就是类型很少 首先trie树是有一个根节点 然后我们在存的时候在每个单词结尾的地方打一个标记,表示以这个字符结尾的节点,是有一个字符串的 假设现在需要存储这么多字符串的话 阅读全文
posted @ 2020-07-12 23:44 kyk333 阅读(338) 评论(2) 推荐(2)
摘要: s是长串,p是子串 在数据范围较小时的暴力做法,两层循环 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() { 4 int n, m; 5 char s[100], p[100]; 6 cin >> m >> p + 1; 阅读全文
posted @ 2020-07-12 22:05 kyk333 阅读(179) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 29 下一页