随笔分类 - 算法
摘要:筛法求素数 前言 素数(质数):除了1和它本身以外不再有其他因数(能被整除的数) 合数:除了能被1和本身整除外,还能被其他数整除的数 互质:公约数只有1的两个整数 题目:判断1 n的范围内有多少个素数? "oj练习" 判断一个数是否为素数,一般会想到以下代码 cpp //时间复杂度O(n sqrt(
阅读全文
摘要:浅谈从搜索到动归 搜索 搜索的思路其实就是暴力破解(枚举每种可能的情况) 一般用dfs的相对较多,dfs是递归的代码结构,简洁明了,思路清晰 搜索的时候会形成一颗搜索树,整个搜索过程相当于在遍历这个搜索树 搜索树可通过 剪枝 来优化,可以理解为把这棵树上多余的枝叶剪去,更快的找到所需的答案 这里依然
阅读全文
摘要:各类排序算法 简单介绍各类排序算法,并给出相对应的模板 练习oj "P1177 【模板】快速排序" 冒泡排序 时间复杂度:O(n2) 类似水中冒气泡的原理 相邻两个气泡之间比较,大的气泡往上冒 插入排序 时间复杂度:O(n2) 类似打扑克牌时,依次整理发到手里的牌 拿到一张牌,与手里已有的牌进行比较
阅读全文
摘要:浅谈贪心与动归 初学时 想必都会对两者的认识有一些混淆 概念性质的就不赘述了 来谈谈我在刷题过程中对两者的见解(诚心接受各位的指正) "从搜索到贪心——求解算法的优化" 这篇文章非常值得一看 "P1478 陶陶摘苹果(升级版)" 对应的oj题目 对比 贪心像是动归的一个 特例 动归的核心在于:状态转
阅读全文
摘要:next_permutation() 全排列函数 这个函数是 STL自带 的,用来求出该数组的下一个排列组合 相当之好用,~~懒人专用~~ 适用于不想自己用dfs写全排列的同学(结尾附上dfs代码) 洛谷oj可去 "P1008 三连击" 注意: 1. 使用前数组需要排序(升序) 2. prev_pe
阅读全文
摘要:并查集(Union Find) 准备工作 可以先看这个 "超有爱的并查集~" 解释的非常生动形象 tql 正文 oj用的是洛谷 "P3367 【模板】并查集" 优化有两种方式: 1. 路径压缩(常用) 2. 按秩合并 路径压缩 cpp include using namespace std; int
阅读全文

浙公网安备 33010602011771号