
算法基础
柯基吹泡泡
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
求N以内所有质数&算术定理&数论
求N以内质数这里我们写一个较高效率筛N以内质数的算法,我们模拟走一遍20以内的质数来讲清我们的思路。这是对20以内质数的直观思路 具体怎么实现我们用代码来表达...原创 2020-03-01 10:40:56 · 758 阅读 · 0 评论 -
最大公约数&最小公倍数
已知两数分别为 a b ,请分别求出 最大公约数 最小公倍数a * b=最大公约数 * 最小公倍数#include<iostream>using namespace std;int gcd(int a,int b){ return b? gcd(b,a%b):b;}int main(){ int a,b; cin>>a>>b; int k=gcd(a,b); cout<<k; cout<&l原创 2020-08-27 17:16:47 · 108 阅读 · 0 评论 -
图的存储(邻接表)
图一般有两种存储方式邻接矩阵:开一个二维数组,g[i][j] 表示点 i 和点 j 之间边的权值邻接表:邻接表第一种方法利用数组模拟链表 第二种方法利用vector存储下面详细说明邻接表的两种存储方法,全部以下图二叉树为模板数组模拟链表:开三个一维数组和一个初始值为0的变量 e[i] ne[j] h[k] idx=0;具体关系:若顶点为 k 则与其相连的另一顶点为 e[h[k]],那么想要以e[h[k]]为顶点继续向下找相邻的顶点,需判断ne[h[k]]是否为-1 若为-1 则不存在相邻点,若存原创 2020-08-27 11:25:19 · 443 阅读 · 0 评论 -
c++ _vector操作总结
文章目录1. vector:1.1 vector 说明1.2 vector初始化:1.3 vector对象的常用内置函数使用(举例说明)2. 顺序访问vector的几种方式,举例说明2.1. 对向量a添加元素的几种方式2.2 从向量中读取元素3.几个常用的算法1. vector:1.1 vector 说明vector是向量类型,可以容纳许多类型的数据,因此也被称为容器(可以理解为动态数组,是封装好了的类)进行vector操作前应添加头文件#include <vector>1.2 v原创 2020-08-14 22:37:34 · 223 阅读 · 0 评论 -
c++基础:queue队列总结(利用队列实现bfs)
c++队列头文件 #include<queue>常用方法函数1 push2 pop3 size4 empty5 front back1 psuh 在队列尾部插入元素,根据元素形式不同举三个常用例子#include<iostream>#include<cstring>#include<cstdio>#include<queue>using namespace std;int main(){ queue<str原创 2020-08-12 12:53:22 · 1059 阅读 · 0 评论 -
数据范围&时间复杂度
一般ACM或者算法笔试题的时间限制为 1秒 或者 2秒 因此 c++ 代码控制在 10⁷ 为最佳1:n<=30 dfs+剪枝 状态压缩dp2:n≤100 floyd,dp3:n≤1000 dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-Ford4:n≤10000 块状链表、分块、莫队5:n≤100000 各种sort,线段树、树状数组、set/map、heap、dijkstra+heap、prim+heap、spfa、求凸包、求半平面交、二分6:n≤1000000原创 2020-08-04 11:31:42 · 636 阅读 · 0 评论