![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
文章平均质量分 65
张李浩
这个作者很懒,什么都没留下…
展开
-
DFS------算法提高课
DFS之连通性模型Acwing1112迷宫地址https://www.acwing.com/problem/content/1114/描述留有疑问为什么不用回溯呢?思想使用DFS解决迷宫问题,只能找出起点和终点是否联通,不能找出最短路径,因为不能保证DFS第一次到达终点的路线是最短路径。而BFS可以实现起点和终点是否联通,以及最短路径的求解。代码#include <iostream>#include <cstring>#include <algori原创 2021-11-22 16:21:42 · 440 阅读 · 0 评论 -
字符串的哈希方式
地址https://www.acwing.com/problem/content/843/思想例题代码#include <iostream>#include <cstring>#include <algorithm>using namespace std;//p一般取131防止出现冲突。const int N=1e5+10,p=131;typedef unsigned long long ULL;int n,m;//h[]用来存储前缀的ha原创 2021-11-20 16:03:31 · 180 阅读 · 0 评论 -
贪心算法-----Acwing算法基础课(11.13前需重新刷一遍)
目录区间问题Acwing905区间选点问题地址:问题描述:思路解析代码Acwing908最大不相交区间数量(区间选点问题的另一种说法)地址:描述:思路:代码:Acwing906区间分组地址:描述:思路:代码:Acwing907区间覆盖地址描述思路代码贪心算法属于短视算法,其代码一般都较为简洁,难在证明区间问题涉及区间问题一般都需要先排序Acwing905区间选点问题地址:https://www.acwing.com/problem/content/907/问题描述:思路解析https:/原创 2021-10-23 22:14:38 · 808 阅读 · 0 评论 -
二分查找法---------五大常用算法
大佬解析:核心思想:图片说明:优缺点:使用条件:代码:递归法:非递归法:时间复杂度空间复杂度:大佬解析:https://blog.csdn.net/maoyuanming0806/article/details/78176957?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162821140416780271585331%2522%252C%2522scm%2522%253A%25222014..原创 2021-08-06 10:14:53 · 491 阅读 · 0 评论 -
五大常用经典算法---------分治算法
地址(整理的挺好的):https://blog.csdn.net/sanmi8276/article/details/114688020?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162816288016780357228468%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162816288016780357228468&a转载 2021-08-05 22:40:27 · 60 阅读 · 0 评论 -
利用递归解决汉诺塔问题
演示:代码(含思路)://汉诺塔问题//利用递归问题,我们可以将复杂的汉诺塔拆分成两部分:最底层和底层上的nums-1层public class Main{ public static void main(String[] args){ Tower hanoi =new Tower(); hanoi.move(5,'A','B','C'); }}//汉诺塔class Tower{ //nums 代表我们要移动的层数,a代表起始.原创 2021-09-19 15:01:33 · 119 阅读 · 0 评论 -
求最大公约数
枚举法://使用枚举法求最大公约数#include <iostream>#include <algorithm>using namespace std;int n,m;int gcd(int n,int m){ //最大公约数一定比两数最小值还要小 if(n==1||m==1) return 1; int i; for( i=min(n,m)-1;;i--){ if(n%i==0&&m%i==0) br原创 2021-09-08 10:45:36 · 75 阅读 · 0 评论 -
质数的判断
Acwing 866 试除法判断是否为质数地址:描述:代码:Acwing867 分解质因数地址:描述:思想:代码:Acwing868筛质数(朴素、埃氏、线性筛)地址:描述:思想:朴素版:埃氏:线性筛法:代码:朴素:O(nlogn)埃氏:O(nloglogn)线性筛:Acwing 866 试除法判断是否为质数地址:https://www.acwing.com/problem/content/description/868/原创 2021-09-07 23:49:41 · 229 阅读 · 0 评论 -
DP动态规划(11.7号前再刷一遍)
背包问题:01背包问题地址:https://www.acwing.com/problem/content/2/描述:思路:二维数组:代码:二位数组:#include <iostream>using namespace std;//N是物品个数,V是容量int N,V;const int M=1e3;//存放某个物品所占的体积和容量int v[M],w[M];//f[i][j]前 i 个物品,背包容量 j 下的最优解(最大价值..原创 2021-09-04 23:54:06 · 252 阅读 · 0 评论