算法
文章平均质量分 66
import dfx
这个作者很懒,什么都没留下…
展开
-
求最值型动态规划入门
动态规划动态规划组成部分:部分1:确定状态部分2部分3三级目录 先看一个例题,本文围绕例题来讲解(LintCode第669题) 动态规划组成部分: 部分1:确定状态 一般来说,做动态规划问题时一般需要开一个数组,状态就是数组的每个元素a[i]或a[i][j]代表什么。 确定状态需要两个状态: 最后一步 子问题 部分2 部分3 三级目录 ...原创 2022-03-06 18:20:20 · 220 阅读 · 0 评论 -
并查集的基本操作、优化
并查集并查集并查集的基本操作1. 初始化2. 合并3. 查找基本并查集的时间复杂度并查集的优化合并的优化(一般不用,而用路径压缩)! 路径压缩(查询优化) ! 并查集 一种非常精巧且实用的数据结构,用来处理不相交集合的合并、查找。 并查集的基本操作 1. 初始化 定义int s[i], (s为set的缩写,意思是集合) 初始化,令s[i]=i。 void init_set(){ for(int i=1;i<=N;i++) s[i]=i; } 2. 合并 例如,加入第一个朋友关系(1,2)原创 2022-02-20 12:32:13 · 281 阅读 · 0 评论 -
sort排序
头文件 #include <algorithm> 时间复杂度 它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n) 使用 默认升序排序 int array[5] = {3,100,45,2,0}; sort(a,a+5); 自定义第三个参数逆序排序 int cmp1(int a,int b){ return b>a; } int array[5] = {3,100,45,2,0}; sort(a,a+5,cmp1); 对vector排序 sort(vec.begin(原创 2022-01-24 22:50:43 · 660 阅读 · 0 评论 -
BFS 广度优先搜索
文章目录定义例题BFS算法全部代码 定义 广度优先搜索是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。 简单来说就是,广度优先搜索将所有可以到达结果的解决方案(路径)同时单步进行,所有结果中最先到达结果的方案即为最优解。 例题 蓝桥杯2019省赛,迷宫: 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个 它的上原创 2022-01-23 15:05:20 · 200 阅读 · 0 评论 -
筛选素数的更高级做法(埃式筛法、欧拉筛法)
三种筛选0-100间素数的方法普通筛选:埃式筛法欧拉筛法 普通筛选: #include<iostream> #include<bits/stdc++.h> using namespace std; int main(){ int a[100]; int fag=0;//flg=0为素数,1为合数 int cnt=0; for(int i=2;i<=100;i++){ fag=0; for(int j=2;j<i;j++){ if((i%j)==0)原创 2022-01-18 21:14:44 · 459 阅读 · 0 评论