当前位置: 首页 > news >正文

畅通工程 小记

1.最短路的板子
2.u=0是哨兵 意味着所有都要+1(0开始的话)!!!起点和终点
3.Dj里的d定义n+1个
4.有多条边时更新之后要存到!!!数组里!!!双向
(通过deepseek检查真的可以收获很多)

#include <bits/stdc++.h>
using namespace std;
int visited[205];
int vis[205][205];
int t;
struct node
{int v,w,n;
}e[1005];
int n,m;
int idx=0;int h[205];
void add(int u,int v,int w)
{e[++idx]={v,w,h[u]};h[u]=idx;
}
int dj(int s)
{memset(visited,0,sizeof(visited));vector<int>d(n+1,0x3f3f3f3f);//从0到n n+1个 d[s]=0;int tt=n;while(tt--){int u=0;for(int i=1;i<=n;i++){if(visited[i]) continue;if(d[i]<d[u]) u=i;}if(!u) break;visited[u]=1;for(int i=h[u];i;i=e[i].n){int v=e[i].v;int w=e[i].w;if(visited[v]) continue;d[v]=min(d[v],d[u]+w);}}return d[t+1];
}
int main()
{while(cin>>n>>m){idx=0;memset(h,0,sizeof(h));int tt=m;memset(vis,0,sizeof(vis));while(m--){int uu,vv,ww;cin>>uu>>vv>>ww;//防止有好多条边 int ttt=vis[uu][vv];if(ttt) {ww=min(ww,ttt);vis[uu][vv]=ww;vis[vv][uu]=ww;}add(uu+1,vv+1,ww);add(vv+1,uu+1,ww);}int s;cin>>s>>t;int ans=dj(s+1);cout<<(ans==0x3f3f3f3f?-1:ans)<<endl;}
}
http://www.jsqmd.com/news/52002/

相关文章:

  • 一篇文章详解Kafka Broker - 教程
  • 一篇文章详解Kafka Broker - 教程
  • Redhat-9-中编译-EFS-客户端工具-即过程中-报错提示-warning: aws-lc-fips-sys@0.13.9: Building with: CMake-解决方法
  • 2025年11月【口碑好的】通讯管理机【公司】【推荐】【哪家好】
  • 05app抓包
  • Python store class list data in excel file via pandas
  • Linuxの磁盘知识2
  • 大盘风险控制策略分析报告 - 2025年11月26日
  • 实用指南:基于 ComfyUI 的 Stable Diffusion 本地部署与使用教程
  • 详细介绍:打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第十天)
  • 1. 密码学基础
  • AI写论文不用愁!9个AI工具为你保驾护航!
  • 谁告你只有中元节能见祖宗了?
  • [论文笔记] Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java
  • 2025年设计师与程序员专属:高级感简历模板 TOP5 排行榜
  • 笔记分享 : 一文读懂3个概念 : RoI, RoI pooling, RoI Align
  • 木棍分割-dp,前缀和优化
  • yolo入门的一些环境配置记录
  • LLM提示注入攻击深度解析:从原理到防御的完整应对方案
  • 42
  • Flash动画制作总结
  • 什么是Go语言
  • 人工智能之数据分析 Matplotlib:第一章 简介和安装
  • 在C#中操作Word文档时,如何处理表格中的数据?
  • 第四十九篇
  • feature map是什么
  • 如何使用DocX库在C#中创建和格式化Word表格?
  • 10-数据格式转换
  • elasticsearch创建用户、角色
  • 09-国土TXT格式