传送门

一开始想用bfs过的但是冲不过去,后面改用迪杰斯特拉了,发现它只是考你熟不熟悉这个,考代码功底

#include<bits/stdc++.h>
using namespace std;
const int N=550,M=N*N;
#define int long long
int h[N],e[M],ne[M],w[M],idx,n,m,a[N],s,t;
void add(int a,int b,int c){e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++;
}
int vis[N],st[N];
int d[N];
queue<int>q;
typedef pair<int,int> PII;
int mp[N][N];
int fa[N];
int cnt[N];
int sum[N];
void bfs(){d[s]=0;fa[s]=-1;sum[s]=a[s];cnt[s]=1;for(int i=0;i<n;i++){int u=-1;for(int j=0;j<n;j++){if(!st[j]&&(u==-1||d[u]>d[j]))u=j;}st[u]=1;for(int j=0;j<n;j++){if(d[j]>d[u]+mp[u][j]){d[j]=d[u]+mp[u][j];cnt[j]=cnt[u];sum[j]=sum[u]+a[j];fa[j]=u;}else if(d[j]==d[u]+mp[u][j]){cnt[j]+=cnt[u];if(sum[j]<sum[u]+a[j]){sum[j]=sum[u]+a[j];fa[j]=u;}}}}
//     q.push(s);
//     while(q.size()){//         int u=q.front();
//         q.pop();
//         for(int i=h[u];~i;i=ne[i]){//             int j=e[i];
//             //if(vis[j])continue;
//             if(d[j]>d[u]+w[i]){//                 q.push(j);
//                 cnt[j]=1;
//                 sum[j]=a[j]+sum[u];
//                 d[j]=d[u]+w[i];
//                 fa[j]=u;
//             }
//             else if(d[j]==d[u]+w[i]){//                 cnt[j]+=cnt[u];
//                 if(sum[j]<sum[u]+a[j]){//                     sum[j]=sum[u]+a[j];
//                     fa[j]=u;
//                 }//             }
//         }
//     }
}
signed main(){memset(h,-1,sizeof h);memset(d,0x3f,sizeof d);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m>>s>>t;for(int i=0;i<n;i++)cin>>a[i];memset(mp,0x3f,sizeof mp);while(m--){int x,y,z;cin>>x>>y>>z;add(x,y,z);add(y,x,z);mp[x][y]=mp[y][x]=z;}bfs();cout<<cnt[t]<<" "<<sum[t]<<'\n';vector<int>v;while(fa[t]!=-1){v.push_back(t);t=fa[t];}reverse(v.begin(),v.end());cout<<s;for(int i=0;i<v.size();i++)cout<<" "<<v[i];}

L2-001 紧急救援 (25 分)相关推荐

  1. 天梯赛:L2-001 紧急救援 (25 分)

    题目详情 - L2-001 紧急救援 (25 分) (pintia.cn) 题解:使用dijkstra算法就可以了,难点在于如何存储路径.我首先十分单纯的用了pair<int,int>进行 ...

  2. 5-35 城市间紧急救援 (25分) pat 数据结构

    题目连接 https://pta.patest.cn/pta/test/15/exam/4/question/862 5-35 城市间紧急救援   (25分) 作为一个城市的应急救援队伍的负责人,你有 ...

  3. 【CCCC】L2-001 紧急救援 (25分),,Dijkstra标准模板(多路径,最大点权和路径打印)

    problem L2-001 紧急救援 (25分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两 ...

  4. 天梯赛 L2-001 紧急救援 (25 分)

    单元最短路+最短路数量+最大点权和+输出路径 L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每 ...

  5. PTA7-12 城市间紧急救援 (25 分)(dijkstra+dp)(简单易懂的写法)

    PTA7-12 城市间紧急救援 (25 分) 关于这个题呢,我当时也想了很久没有一点头绪.所以,菜鸡的我一如既往的打开了CSDN(手动滑稽).我看了很多大佬的写法,最普遍的应该就是dijkstra+d ...

  6. 7-11 城市间紧急救援 (25 分)

    7-11 城市间紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速 ...

  7. 紧急救援 (25 分)

    L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道 ...

  8. 5-35 城市间紧急救援 (25分)

    5-35 城市间紧急救援 (25分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道 ...

  9. L2-001 紧急救援 (25 分)最短路径 迪杰斯特拉算法

    L2-001 紧急救援 题目 代码 题目 L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城 ...

  10. L2-001 城市间紧急救援 (25分)(迪杰斯特拉算法)

    L2-001 城市间紧急救援 (25分)(迪杰斯特拉算法) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一 ...

最新文章

  1. PHP判断文件是否被引入的方法get_included_files
  2. python心得1000字-经典教材《统计学习导论》现在有了Python版
  3. 利用 Arthas 精准定位 Java 应用 CPU 负载过高问题
  4. 关于DSP开发的步骤
  5. 346雷达有多少tr组件_有源相控阵的天线设计的核心:T/R组件
  6. Spring集成CXF发布WebService并在客户端调用
  7. Julia的安装与配置详解(包含在Ubuntu 18.04和Windows 10系统上Julia的安装)
  8. 设计模式 AOP 面向切入编程
  9. 洛谷P3642 [APIO2016]烟火表演
  10. Java 工程师修炼之道
  11. grandMA2 onPC 3.1.2.5的DMX参数摸索
  12. 手动安装高可用k8s集群(二进制)v1.23.4版本
  13. AutoCAD 描图方法小结
  14. 微信小程序录制视频方法踩坑总结
  15. 经典算法研究系列:七、深入浅出遗传算法
  16. 2022网络搭建国赛NIS 服务器搭建
  17. PyTorch :transforms 数据增强:裁剪、翻转、旋转
  18. 再来一个小游戏——原生js逐句解释开发简易版别踩白块,附源码
  19. 2017年第二十二届华南国际口腔展览会会刊(参展商名录)
  20. gava cach_CACHÉ2010访谈

热门文章

  1. 西门子数字化战略下的深度整合-再见了Siemens PLM Software
  2. 精确的目标检测中定位置信度的获取
  3. 蚂蚁金服AI首席科学家漆远:用AI和爱让我们遇见更美好的未来
  4. H5页面动态文案使用艺术字体的解决方案
  5. 哪个软件可以自己设计字体?好用的制作艺术字软件
  6. jsp小区物业管理系统
  7. 数据离散化与Python实现
  8. Webug4.0 打靶笔记
  9. AMESim储能电气库用户手册(一)
  10. MySQL数据库审计系统