搜素

顺序搜索 顺序查找又称为线性查找,是一种最简单的查找方法。适用于线性表的顺序存储结构和链式存储结构。该算法的时间复杂度为O(n)。 从第一个元素...

创建: 2022-04-25 | 更新: 2022-04-25 | 字数: 3179字 | 时长: 7分钟 |  作者: kevin

约瑟夫环

玩游戏 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include<bits/stdc++.h>using namespace std; int n,k; int main() { cin>>n>>k; queue<int> q; for(int i =1;i<=n;i++) q.push(i); while(k--){ int a; cin>>a; a%=q.size(); for(int i =1;i<=a;i++){ q.push(q.front()); q.pop(); } cout<<q.front()<<" "; q.pop(); } return 0; } 招聘 1 2 3 4 5 6 7 8 9 10...

创建: 2022-04-19 | 更新: 2022-04-19 | 字数: 348字 | 时长: 1分钟 |  作者: kevin

最短路

朴素dijkstra算法 Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度 O(n2) 每...

创建: 2022-04-09 | 更新: 2022-04-09 | 字数: 602字 | 时长: 2分钟 |  作者: kevin

BFS与DFS

树与图的存储 树是一种特殊的图,与图的存储方式相同。 对于无向图中的边ab,存储两条有向边a->b, b->a。 因此我们可以只考虑有向...

创建: 2022-04-07 | 更新: 2022-04-07 | 字数: 1373字 | 时长: 3分钟 |  作者: kevin

并查集

思想 并查集可以理解为一种解决问题的思想,将有关系的元素合并为一个集合。 模板 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33...

创建: 2022-04-06 | 更新: 2022-04-06 | 字数: 989字 | 时长: 2分钟 |  作者: kevin

Trie

模板 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 int son[N][26], cnt[N], idx; // 0号点既是根节点,又是空节点 // son[][]存储树中每个节点的子节...

创建: 2022-04-04 | 更新: 2022-04-04 | 字数: 754字 | 时长: 2分钟 |  作者: kevin

Kmp

模板 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // s[]是长文本,p[]是模式串,n是s的长度,m是p的长度 求模式串的Next数组: for (int i = 2, j...

创建: 2022-04-04 | 更新: 2022-04-04 | 字数: 475字 | 时长: 1分钟 |  作者: kevin

2021寒假每日一题入门组

十三号星期五 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #include <bits/stdc++.h>using namespace std; int main() { int n; cin >> n; int a[7] = {0};//记录星期出现...

创建: 2022-04-02 | 更新: 2022-04-02 | 字数: 523字 | 时长: 2分钟 |  作者: kevin

区间合并

https://www.acwing.com/problem/search/1/?csrfmiddlewaretoken=A6hJmK9QIKhI2BjKpv9ngRnfmmlSDTEY6DjbNvDxBtLwn1nSLHtW0NrLCd6KKoSn&search_content=%E5%8C%BA%E9%97%B4%E5%90%88%E5%B9%B6 思想 一、简述 区间合并 就是将坐标轴中两个存在交集 的区间合并 成一个 区间 。 二、 思想 1.将所有 区间 按左端点从小到大排序 2.从左到右遍历每个 区间 ,把...

创建: 2022-04-02 | 更新: 2022-04-02 | 字数: 475字 | 时长: 1分钟 |  作者: kevin

离散化

离散化思想(好像都可以用map来解决捏) 数据离散化是一个非常重要的思想。 为什么要离散化?当以权值为下标的时候,有时候值太大,存不下。 所以把要...

创建: 2022-04-02 | 更新: 2022-04-02 | 字数: 1921字 | 时长: 4分钟 |  作者: kevin

前缀和与差分

前缀和是一种极其优秀的线性结构,也是一种重要的思想,能极大地降低区间查询的时间复杂度。 一维前缀和 1 2 S[i] = a[1] + a[2] + ... a[i] a[l] + ... + a[r] = S[r] - S[l - 1] 最...

创建: 2022-03-27 | 更新: 2022-03-27 | 字数: 302字 | 时长: 1分钟 |  作者: kevin

高精度

高精度加法 模板 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // C = A + B, A >= 0, B >= 0 vector<int> add(vector<int> &A, vector<int> &B) { if (A.size() < B.size()) return add(B, A); vector<int> C; int t = 0; for (int i = 0; i < A.size(); i ++ ) { t +=...

创建: 2022-03-26 | 更新: 2022-03-26 | 字数: 678字 | 时长: 2分钟 |  作者: kevin

二分

整数二分 思想 模板 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 bool check(int x) {/* ... */} // 检查x是否满足某种性质 // 区间[l, r]被划分成[l, mid]和...

创建: 2022-03-24 | 更新: 2022-03-24 | 字数: 720字 | 时长: 2分钟 |  作者: kevin

2021每日一题暑假

[]: https://www.acwing.com/problem/content/description/3765/ 二进制矩阵 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 #include <iostream>#include <cstring>#include <algorithm> using namespace std; const...

创建: 2022-03-23 | 更新: 2022-03-23 | 字数: 401字 | 时长: 1分钟 |  作者: kevin

排序

排序的问题基本都是让我们利用各种排序的思想去解决其他问题的 快排 思想 快速排序所采用的思想是分治的思想。所谓分治,就是指以一个数为基准,将序列中...

创建: 2022-03-23 | 更新: 2022-03-23 | 字数: 717字 | 时长: 2分钟 |  作者: kevin