成都信息工程大学天梯赛 L2-2 不要刁难我们了
赛时板子没写对,原因就是标记数组的位置放错了,放到了while外面,导致这样距离数组是不会更新的,板子还是要自己多写少看
#include <bits/stdc++.h>
#define int long long
using namespace std;
using pii = pair<int, int>;
using psc = pair<string, char>;
int n,m;
int st,ed;
int mes[200005];
int road[200005];
struct node{
int v;
int w;
};
vector<node>basis[200005];
int dis[200005];
int vis[200005];
void dijkstra(int x)
{
for(int i=1;i<=n;i++) dis[i]=1e9;
priority_queue<pii>q;
q.push({0,x});
dis[x]=0;
road[x]=1;
while(q.size()){
auto [ds,now]=q.top();
q.pop();
if(vis[now]) continue;//标记数组应放在这里而不是外面
vis[now]=1;
for(auto [v,w]:basis[now]){
if(dis[v]>dis[now]+w)
{
dis[v]=dis[now]+w;
road[v]=road[now];//注意这个路径数量的更新
q.push({-dis[v],v});
}else if(dis[v]==dis[now]+w){
road[v]+=road[now];//注意这个
//这里不要在放到队列里 否则路径会变多
}
}
}
}
void solve() {
cin>>n>>m;
cin>>st>>ed;
for(int i=1;i<=n;i++) cin>>mes[i];
for(int i=0;i<m;i++)
{
int u,v,w;
cin>>u>>v>>w;
basis[u].push_back({v,w+mes[v]});//直接这里加进去就可以 省的每次还要加
basis[v].push_back({u,w+mes[u]});
}
dijkstra(st);
cout<<dis[ed]<<"\n"<<road[ed];
}
signed main() {
int t = 1;
ios::sync_with_stdio(0), cin.tie(0);
// cin>>t;
while (t--) solve();
return 0;
}
成都信息工程大学天梯赛 L2-2 不要刁难我们了的更多相关文章
- CCCC 成都信息工程大学游记
晚上刷智障25人本,刷到深夜四点,然后迷迷糊糊8点钟起床上车睡觉,然后就到了信息工程大学. 然后开始抢衣服,抢完衣服就开始拍照. 对了,这个学校看了下地图,好小呀,不过妹子好多呀. 然后就被老师带进机 ...
- 成都信息工程大学第八届校赛 H J 题解
H. Bang Bang Keli Ba 题目大意 给定数组 \(a\) ,构造递增序列 \(b\) 和递减序列 \(c\) 且 \(a_i=b_i+c_i\) . 题解 下面证明解的存在性,存在性证 ...
- SycSec成都信息工程大学2019CTF-前五道WEB题writeup
一.WEB (1)一起来撸猫 flag藏在标签的注释内 <!--这是注释--> (2)你看见过我的菜刀么 eval漏洞 利用蚁剑连接 连接密码就是要post传的参数 连接成功后在网站根目 ...
- PTA天梯赛L2
L2-001 紧急救援 题意:就是给你一张n<500的图:让你求最短路径,最短路条数,以及路径: 做法,先用dijkstra求最短路,然后dfs找最短路条数,以及点权的最大值: 一般dfs不就可 ...
- 第四届CCCC团体程序设计天梯赛 后记
一不小心又翻车了,第二次痛失200分 1.开局7分钟A了L2-3,一看榜已经有七个大兄弟排在前面了,翻车 * 1 2.把L1-3 A了18分,留了两分准备抢顽强拼搏奖,最后五秒钟把题过了,万万没想到还 ...
- 团体程序设计天梯赛(CCCC) L3009 长城 方法证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 【CCCC天梯赛决赛】
cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来.补了一下题,觉得其实也不是很难,主要是练的少. L2-1:红色预警 并查集 我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难. ...
- 记第一届 CCCC-团体程序设计天梯赛决赛 参赛
其他都没什么,上午报道,下午比赛两个半小时,最后139分 但四我超遗憾的是,最后在做L3-1二叉搜索树,因为看到有辣么多人做出来,可是我没做出来啊 比赛结束后看了看其他两道当场吐血,L3-3直捣黄龙不 ...
- L1-049 天梯赛座位分配
L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...
- 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
随机推荐
- Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,不输GPT-3.5
大家好,我是编程乐趣. 行业诸多大佬一直在说:"2025年将是AI应用元年",虽然说大佬的说法不一定对,但AI趋势肯定没错的. 对于我们程序员来说,储备AI应用开发技能,不管对 ...
- 452:管理压缩的TAR存档
- android主线程与子线程
创建子线程创建子线程 更多关于java线程的文章可以查看这两篇 线程1 创建线程的方法 在android中穿件子线程的方案很简单 创建子线程的几种方法 ///////第一种/////// class ...
- 部署Palworld幻兽帕鲁服务器最佳实践(Ubuntu)
本文为您介绍Ubuntu系统部署Palworld幻兽帕鲁服务器的最/佳实践. 1.登录云主机控制台,选择创建云主机的资源池,点击"创建云主机"按钮. 2.基础配置. CPU架构选择 ...
- Windows中通过NVM安装和切换各个NodeJS版本
1.下载nvm 下载地址:https://github.com/coreybutler/nvm-windows/releases 如我们下载:https://github.com/coreybutle ...
- kubernets学习笔记一
了解kubernets Docker作为单一的容器技术工具并不能很好地定义容器的"组织方式"和"管理规范",难以独立地支撑起生产级大规模容器化部署的要求..因此 ...
- [大模型/AI/GPT] Chatbox:大模型可视化终端应用
序 概述:Chatbox AI Chatbox AI 是一款 AI 客户端应用和智能助手,支持众多先进的 AI 模型和 API,可在 Windows.MacOS.Android.iOS.Linux 和 ...
- JDK8项目简单快速接入AI大模型(无需强制使用JDK17)
最近AI风头越来越火,好多项目都需要接入AI接口,但Spring-AI强制绑定JDK17这些,导致以前的很多JDK8项目不太方便 找到个办法,使用AI4J来接入 1.本地部署Ollama,这个属于部署 ...
- Flink学习(十八) 状态管理与状态编程
Flink中的状态 由一个任务维护,并且用来计算某个结果的所有数据,都属于这个任务的状态:可以认为状态就是一个本地变量,可以被任务的业务逻辑访问:Flink会进行状态管理,包括状态一致性,故障处理以及 ...
- Flink学习(三) 批流版本的wordcount Scala版本
批处理代码: package com.wyh.wc import org.apache.flink.api.scala._ /** * 批处理代码 */ object WordCount { def ...