![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
luyiming123
初中OIer,水平入门,喜欢数据结构与算法
展开
-
【学习笔记】dfs|bfs|A*|IDA*|IDDFS 搜索杂烩
前排简介。什么是dfs?dfs为深度优先搜索的简称,一种暴力求解的方式,当然有很多的玄学优化,我也略会一些。什么是bfs?bfs为宽度优先搜索的简称,当然有人也称之为“广度优先搜索”,一个算法。个人认为要比dfs难入门一些。暂时先介绍这两种搜索。(链接摘自百度百科)dfs的计算过程:1.确定“位置” ,写过全排列的同学应该深有体会。说的专业一点,就是现在所在的状态。例如走迷宫,状态...原创 2020-03-14 21:35:47 · 391 阅读 · 7 评论 -
快速幂
一直想写这种板子,鸽了好久。求出abmoda^b modabmod ppp的值。O(b)O(b)O(b)级算法:ans=1;for(int i=1;i<=b;i++) ans*=a,ans%=p;进一步分析:若bbb是奇数,则ab=ab−1⋅aa^b=a^{b-1}·aab=ab−1⋅a若bbb是偶数,则ab=(a2)b2a^b=(a^2)^{\frac{b}{2}}ab=(...原创 2020-03-13 08:27:02 · 279 阅读 · 6 评论 -
floyd
floyd\color{red}floydfloyd操作过程:先搞三维,设D[i][j][k]D[i][j][k]D[i][j][k]表示i−ji-ji−j,只有1−k1-k1−k个点的最短路径。得:D[i][j][k]=min(D[i][k][k−1]+D[k][j][k−1],D[i][j][k−1])D[i][j][k]=min(D[i][k][k-1]+D[k][j][k-1],D...原创 2020-03-12 08:47:54 · 184 阅读 · 4 评论 -
模板目录
图论:DijkstraDijkstraDijkstraLink\color{red}LinkLink原创 2020-03-11 18:35:32 · 131 阅读 · 2 评论 -
Dijkstra
注意:此文章为本人自己用来复习的,可能一些讲解不是很入门,如果是新手珂以退出Dijkstra\color{red}DijkstraDijkstra用来干嘛的?求单源最短路径。步骤:注意:下面的文章默认出发点为1.设dis[i]dis[i]dis[i]为111到iii的最短路径,初始化:dis[1]=0dis[1]=0dis[1]=0dis[2...n]=infdis[2...n]=i...原创 2020-03-11 18:34:05 · 143 阅读 · 0 评论