最短路径算法汇总ing

【置顶】【PAT】PAT甲级题目及分类总结(持续更新ing 在2019年3月底,我决定考浙大计院,经过一个月还算凑合的学习,痛定思痛,决定整理整理自己的博客。 粗略估计,大概一个月的时间里我AC了31道题,大概用时40个小时上下,毕竟还要把大部分时间花在笔试上。一开始使用Java,到十几题的时候发现有的题真的Java很难通过,痛定思痛转Cpp。这里告诫读者,千万换Cpp而不是继续Java,毕竟我们的目标是满分。 我在算法题上有点小基础,前后两次参加蓝桥杯,... 阅读详情

单源最短路问题:
单源问题又有含负边问题
正权图:
朴素dijksra o(n2) 与边无关 适合稠密图
堆优化版o(mlogn) 适合稀疏图

负权边:
BF-o(nm)
SPFA-o(m) 最坏o(nm) 但并不是所有都能用

多源汇最短路问题:
floyed o(n3)
在这里插入图片描述
dijkstra算法:
重点在于把第一个点加入的时候,把相邻的点更新了,不管有用没用,直接用最大值干!

#include <iostream>
#include <cstring>
using namespace std;
const int N = 505;
int g[N][N];
bool st[N];
int dist[N];
int n,m;

void dijkstra(){
    memset(dist,0x3f,sizeof dist);
    dist[1] = 0;
    for(int i = 1;i<=n;i++){
        int t = -1;
        for(int j = 1;j<=n;j++){
            if(!st[j]&&(t==-1||dist[t]>dist[j])) t = j;
        }
        st[t] = true;
        for(int j = 1;j<=n;j++){
            if(!st[j])
                dist[j]=min(g[t][j]+dist[t],dist[j]);
        }
    }
    if(dist[n]==0x3f3f3f3f){
        cout<<-1;
    }
    else
        cout<<dist[n];
}
int main() {
    cin>>n>>m;
    memset(g,0x3f,sizeof g);
    for(int i = 0;i<m;i++){
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
//        cin>>a>>b>>c;
        g[a][b] = min(g[a][b],c);
    }
    dijkstra();
    return 0;
}

OpenCV 算法梳理分析 本文系统梳理了OpenCV的核心算法体系,从模块架构到具体函数实现。OpenCV采用分层设计,包含基础I/O、图像处理、特征检测、视频分析和智能算法五大层次,所有模块基于统一的Mat数据结构。重点分析了imgproc模块的8类图像处理算法(滤波、形态学、阈值化等),features2d模块的特征检测与匹配流程(SIFT/ORB等算法对比),以及objdetect、video、calib3d等模块的核心功能。针对不同场景提供了算法选型建议,如高斯噪声推荐GaussianBlur,特征匹配推荐ORB+Flann 阅读详情

相关推荐

01-SA8155 QNX 虚拟机Hypervisor

Hypervisor运行在Host OS操作系统上,其他操作系统均在Hypervisor上运行。:Hypervisor直接运行在硬件上,操作系统在Hypervisor之上运行。终止(关闭):echo control 0 dev/vmm。路径:qnx_ap/AMSS/platform/vm/resources/关闭/终止 qvm(GVM):slay -s SIGQUIT qvm。", //host PVM --- 主机。不直接操作/dev/vmm 实现关闭,启动vm。

静虚待令,有物混成 1万+

最短路径(慢慢更ing

前言 又来一篇水文 Dijstra 该博主文章最短路径算法的基本思想讲的很清楚,这里就不额外码字了。 Ford for (int k = 0; k < graph.length; k++) {// floyd for (int i = 0; i < graph.length; i++) { for (int j = 0; j < graph.length; j++) { if (graph[i][k] + graph[k][j] &g

andy dennis的博客 165

华为OD机试 - 学校的位置 - 数学问题(Python/JS/C/C++ 2024 B卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题。

学Java,找哪吒 428

数学建模-算法总结-更新ing

分支定界算法是一种求解优化问题的分治方法,通过逐步将问题分解成更小的子问题,并通过界限的计算来排除无效的解,从而找到问题的最优解。

artly1的博客 390

[kuangbin带你飞] 算法小白 —— 进阶之路 (连载ing

[kuangbin带你飞] 算法小白 —— 进阶之路 week1 【kuangbin带你飞】 题单 简单搜索 (连载ing

ACM-ICPC 现役(铜牌) Codeforces Rating: 2172 198

图论相关问题——持续更新ing

1、最短路径问题 dijkstra算法 2、最小生成树问题——最小费用 kruskal算法,prim算法

IEEEITU的专栏 856

最短路 - floyd 【 理解 + 例题 】 更新 ing...

看着巨巨们越来越牛逼,

Joursion 2092

算法分析与设计(xd张立勇老师)总结ing之期末复习篇(附代码)

如下图:(虽然不是很想听课,但是也没啥事可以干,所以如听课)

weixin_62722847的博客 415

模板题目(更新ing

并查集: Poj-1182 食物链 // 思路:对每个节点维护其到根节点的偏移量(偏移量代表种类关系)。 // par[x]表示x的根节点,rel[x]表示x与根节点的偏移量。 // rel[x]=0表示x与根节点为同类,1表示根节点吃x,2代表x吃根节点。 // 同类/不同类时,如何判断关系是否矛盾以及如何合并两顶点所在的集合。 #include&amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;

ó 257

A星算法入门之入ing...

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34417635的博客 113

leetcode 56合并区间

这道题你可以把它压缩成一个非常好记的思路:先排序,再逐个比较;能合并就扩右边界,不能合并就加入答案。具体来说,先用: 把所有区间按照左端点从小到大排序。排序之后,我们只需要拿“当前区间”和 里最后一个已经合并好的区间比较。如果: 说明前一个区间的右端点比当前区间左端点还小,二者没有重叠: 所以直接: 如果不满足: 那就说明: 两个区间重叠,例如: 此时左端点不用动,只需要把右端点扩大: 所以整道题可以记成: 这道题容易忘的函数/语法 含义:对整个 排序。对于:

qq_63176310的博客 230

小红书 算法一面 十一

例如 **Soft MoE** 采用这种方式,大幅提升负载均衡性,但会增加计算开销。- **熵正则化**:直接最大化门控概率分布的熵,熵越大表示分布越均匀,公式为 $\mathcal{L}_{ent} = -\frac{1}{N}\sum_{i=1}^N\sum_{k=1}^K p_{ik}\log p_{ik}$。- **核心原理**:源自 **GShard** 和 **Switch Transformer**,通过最小化专家选择概率分布的熵,迫使门控网络给每个专家分配相近的 token 数量。

XLYcmy的博客 434

LeetCode 1. 两数之和 | 从暴力枚举到哈希表最优解 + 空间换时间思想全复盘

文章摘要 题目要求在数组中找到两数之和等于目标值的下标。核心思路是优化查找效率: 暴力法:双重循环枚举所有数对,时间复杂度O(n²),效率低但易实现。 哈希表优化:利用哈希表O(1)查找特性,遍历时存储已访问元素,每次计算差值并查询,时间复杂度降至O(n)。关键细节是先查后存,避免自匹配。 代码实现:哈希表法通过一次遍历完成,空间换时间,边界处理需注意空数组和不足两元素的情况。 常见错误:内层循环起始点、哈希表键值设计、立即返回结果等易错点需警惕。 面试要点:优先选择哈希表解法,解释与暴力法的差异,强调时间

yc2284238579的博客 253

算法日常・每日刷题--<BFS>4

题目摘要: 给定一个由'X'和'O'组成的矩阵,要求捕获所有被'X'完全包围的'O'区域(即不与边界连通的区域),并将其替换为'X'。解法核心是逆向处理: 标记边界连通区域:遍历矩阵四边,对边界上的'O'进行BFS/DFS,标记所有与之连通的'O'为临时符号(如'.'),表示这些区域未被包围。 批量修改:遍历整个矩阵,将未被标记的'O'(被包围的)改为'X',同时恢复标记的'.'为'O'。 示例: 输入: [['X','X','X','X'], ['X','O','O','X'], ['X','X','O'

2503_92261635的博客 256

10.LeetCode算法习题讲解--滑动窗口--最大连续为一的个数

利用滑动窗口解决最大连续1的个数

Jammy_1的博客 215

问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用

算法核心特点 递归聚类:逐层对文档块进行聚类,构建层次结构摘要生成:为每个聚类生成摘要,捕获语义信息展开树检索:将所有节点展开,直接进行向量检索层次化检索:从根节点开始,逐层深入检索灵活聚类:支持层次聚类和基于阈值的聚类自适应:根据节点数量动态调整树结构可扩展:支持自定义摘要生成器和检索策略

qq_42773521的博客 191

AI辅助芯片制造:算法与工程化落地

《国产DRAM龙头长鑫科技上市创纪录,AI技术重塑芯片制造新范式》 国产DRAM龙头企业长鑫科技7月27日登陆科创板,创下3.31万亿元市值,成为A股"一哥"。作为大陆唯一实现DRAM大规模量产的IDM企业,长鑫科技标志着国产存储产业的重要突破。随着AI算力需求激增,DRAM市场迎来高速发展期。AI技术正在深度改变芯片制造模式,在工艺仿真、缺陷检测、设备维护等环节发挥关键作用,显著提升良率和效率。长鑫科技高管推荐的新书《AI辅助芯片制造:算法与工程化落地》系统解析了AI赋能半导体制造的实战方案

weixin_43178406的博客 6296

二刷hot100-70.爬楼梯

dp数组初始化:dp[n+1];

2302_78497251的博客 45

S 曲线加减速算法完整详解(C# 原生实现,无第三方库)

S 曲线加减速是工业运动控制核心轨迹规划算法,相比梯形曲线,依靠约束加加速度 Jerk 实现加速度连续变化,有效消除机械冲击与振动。本文完整讲解七段式 S 曲线原理、阶段推演、时间预规划逻辑,剖析短行程自动裁剪等工程难点。提供无第三方依赖原生 C# 完整实现,内置运动状态机,支持正反方向运动,基于解析多项式实时求解位置、速度、加速度,无积分累积误差。代码可直接用于伺服上位机、模组轨迹发生器,亦可精简移植嵌入式平台。同时对比算法优劣与适用场景,适合工控开发、伺服调试、嵌入式运动算法学习者参考。

工业上位机开发工程师,专注C#底层算法与工控仪器开发。从零手写信号滤波、曲线拟合、机器视觉、排序与密码学哈希,纯原生实现零第三方库,附数学推导与可编译源码,可移植STM32/PLC。 958

Tokenization(分词算法):一切大语言模型的地基

本文深入解析了Tokenization(分词算法)这一大语言模型的基础技术。Tokenization将原始文本切分为模型可处理的子词单元并映射为数字ID,是模型理解文本的第一步。

2301_80194949的博客 197

三菱PLC程序源码-PID+PLC程序.zip

三菱PLC程序源码-PID+PLC程序

上一篇: DFS全排列和n皇后
下一篇: prim-kruskal-染色法-匈牙利
束照
博客等级 码龄6年 73粉丝 · 69原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值