网站首页 站内搜索

搜索结果

查询Tags标签: 基础课,共有 49条记录
  • acwing算法基础课:最短路算法(最小生成树和二分图算法分类)

    最小生成树和二分图算法

    2021/10/26 20:42:03 人评论 次浏览
  • 算法基础课01-快速排序,归并排序,二分查找

    1.快速排序 快速排序的基本思想是分治。 ①确定分界点X:左端点,右端点,中点,随机取都可以,不过建议取中间点,因为有时候取左右端点会是时间复杂度变大; ②调整区间:使x左边的数都<=x,使x右边的数都>=x; ③递归处理左右两段。 例题:785. 快速排序 给定你一个…

    2021/10/5 20:11:10 人评论 次浏览
  • 算法基础课01-快速排序,归并排序,二分查找

    1.快速排序 快速排序的基本思想是分治。 ①确定分界点X:左端点,右端点,中点,随机取都可以,不过建议取中间点,因为有时候取左右端点会是时间复杂度变大; ②调整区间:使x左边的数都<=x,使x右边的数都>=x; ③递归处理左右两段。 例题:785. 快速排序 给定你一个…

    2021/10/5 20:11:10 人评论 次浏览
  • ACwing算法基础课第一讲

    给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n个整数(所有整数均在 1 ~10^9 范围内),表示整个数列。 输出格式 输出共一行,包含 n个整数,…

    2021/9/28 1:40:44 人评论 次浏览
  • ACwing算法基础课第一讲

    给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n个整数(所有整数均在 1 ~10^9 范围内),表示整个数列。 输出格式 输出共一行,包含 n个整数,…

    2021/9/28 1:40:44 人评论 次浏览
  • acwing算法基础课:哈希表

    一般哈希表模板 (1) 拉链法int h[N], e[N], ne[N], idx;// 向哈希表中插入一个数void insert(int x){int k = (x % N + N) % N;e[idx] = x;ne[idx] = h[k];h[k] = idx ++ ;}// 在哈希表中查询某个数是否存在bool find(int x){int k = (x % N + N) % N;for (int i = h[k]; …

    2021/9/27 14:11:03 人评论 次浏览
  • acwing算法基础课:哈希表

    一般哈希表模板 (1) 拉链法int h[N], e[N], ne[N], idx;// 向哈希表中插入一个数void insert(int x){int k = (x % N + N) % N;e[idx] = x;ne[idx] = h[k];h[k] = idx ++ ;}// 在哈希表中查询某个数是否存在bool find(int x){int k = (x % N + N) % N;for (int i = h[k]; …

    2021/9/27 14:11:03 人评论 次浏览
  • 算法基础课:合并集合

    #include<iostream> using namespace std; const int N = 1e5 + 10; int s[N], p[N]; int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x]; } void merge(int a, int b) {int x = find(a), y = find(b);p[x] = y; } void query(int a, int b) {if (fin…

    2021/9/20 17:29:46 人评论 次浏览
  • 算法基础课:合并集合

    #include<iostream> using namespace std; const int N = 1e5 + 10; int s[N], p[N]; int find(int x) {if (p[x] != x) p[x] = find(p[x]);return p[x]; } void merge(int a, int b) {int x = find(a), y = find(b);p[x] = y; } void query(int a, int b) {if (fin…

    2021/9/20 17:29:46 人评论 次浏览
  • 算法基础课:滑动窗口

    #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1e6 + 10;int a[N], q[N];//q[N]维护的是数组下标。对应的a[q[i]]应当随着i的增加而增加/减少int main() {int n, k;cin >> n >> k;int …

    2021/9/19 20:35:42 人评论 次浏览
  • 算法基础课:滑动窗口

    #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 1e6 + 10;int a[N], q[N];//q[N]维护的是数组下标。对应的a[q[i]]应当随着i的增加而增加/减少int main() {int n, k;cin >> n >> k;int …

    2021/9/19 20:35:42 人评论 次浏览
  • 基础课复习之图论

    基础课图论复习-最短路朴素Dijkstra算法 (适合稠密图 用邻接矩阵存图) 时间复杂度 O(\(n^2 + m\)) n表示点数, m表示边数 AcWing 849. Dijkstra求最短路Iint g[N][N]; // 存储每条边 int dist[N]; // 存储1号点到每个点的最短距离 bool st[N]; // 存储每个点的最短路…

    2021/8/14 6:06:16 人评论 次浏览
  • 基础课复习之图论

    基础课图论复习-最短路朴素Dijkstra算法 (适合稠密图 用邻接矩阵存图) 时间复杂度 O(\(n^2 + m\)) n表示点数, m表示边数 AcWing 849. Dijkstra求最短路Iint g[N][N]; // 存储每条边 int dist[N]; // 存储1号点到每个点的最短距离 bool st[N]; // 存储每个点的最短路…

    2021/8/14 6:06:16 人评论 次浏览
  • 程序员的数学基础课 原来取余操作本身就是个哈希函数 4

    你好,我是黄申。今天我们来聊聊“余数”。提起来余数,我想你肯定不陌生,因为我们生活中就有很多很多与余数相关的例子。比如说,今天是星期三,你想知道 50 天之后是星期几,那你可以这样算,拿 50 除以 7(因为一个星期有 7 天),然后余 1,最后在今天的基础上加一天…

    2021/7/8 17:09:43 人评论 次浏览
  • Acwing - 算法基础课 - 笔记(八)

    文章目录 搜索与图论(二)单源最短路多源汇最短路算法思路朴素Dijkstra堆优化版DijkstraBellman-FordSPFAFloyd搜索与图论(二) 这一节讲的是最短路。 常见的最短路问题,一般分为两大类: 单源最短路多源汇最短路 在最短路问题中,源点也就是起点,汇点也就是终点。 单…

    2021/6/28 9:50:16 人评论 次浏览
扫一扫关注最新编程教程