模板
luyiming123
初中OIer,水平入门,喜欢数据结构与算法
展开
-
【学习笔记】dfs|bfs|A*|IDA*|IDDFS 搜索杂烩
前排简介。 什么是dfs? dfs为深度优先搜索的简称,一种暴力求解的方式,当然有很多的玄学优化,我也略会一些。 什么是bfs? bfs为宽度优先搜索的简称,当然有人也称之为“广度优先搜索”,一个算法。个人认为要比dfs难入门一些。 暂时先介绍这两种搜索。 (链接摘自百度百科) dfs的计算过程: 1.确定“位置” ,写过全排列的同学应该深有体会。说的专业一点,就是现在所在的状态。例如走迷宫,状态...原创 2020-03-14 21:35:47 · 387 阅读 · 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 · 276 阅读 · 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 · 181 阅读 · 4 评论 -
模板目录
图论: DijkstraDijkstraDijkstra Link\color{red}LinkLink原创 2020-03-11 18:35:32 · 128 阅读 · 2 评论 -
Dijkstra
注意:此文章为本人自己用来复习的,可能一些讲解不是很入门,如果是新手珂以退出 Dijkstra\color{red}DijkstraDijkstra用来干嘛的? 求单源最短路径。 步骤: 注意:下面的文章默认出发点为1. 设dis[i]dis[i]dis[i]为111到iii的最短路径,初始化: dis[1]=0dis[1]=0dis[1]=0 dis[2...n]=infdis[2...n]=i...原创 2020-03-11 18:34:05 · 141 阅读 · 0 评论