集美大学“第15届蓝桥杯大赛(软件类)“校内选拔赛 H卯酉东海道

dijk + spfa思想 然后你需要存一下每个点 * l种颜色,你开个数组存一下

st[i][j] 为到达i点且到达以后是j颜色的最小距离是否已经确定了

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 3e5+10;
struct Edge{
	ll to,col,w;
	bool operator<(const Edge&W)const{
		return w>W.w;
	}
};
int n,m,l,base;
bool st[N][70];
vector<Edge>g[N];
ll ans = 1e15;
ll dist[N];

void spfa(int t){
	
	memset(st,0,sizeof st);
	
	priority_queue<Edge>q;
	q.push({1,t,0});
	for(int i=1;i<=n;i++)dist[i] = 1e15;
	dist[1] = 0;
	
	while(q.size()){
		auto t = q.top();
		q.pop();
		int to = t.to,col = t.col;
		if(st[to][col])continue;
		st[to][col] = true;
		
		
		for(auto&ts:g[to]){
			int tos = ts.to,cols = ts.col,ws = ts.w;
			if(dist[tos]>dist[to]+(cols==col?1:base)*ws){
				dist[tos] = dist[to] + (cols==col?1:base)*ws;
				q.push({tos,cols,dist[tos]});
			}
		}
	}
	ans = min(ans,dist[n]);
	
}

void solve()
{
	cin>>n>>m>>l>>base;
	for(int i=1;i<=m;i++){
		int a,b,c,d;cin>>a>>b>>c>>d;
		g[a].push_back({b,c,d});
	}
	
	for(int i=1;i<=l;i++)spfa(i);
	
	if(ans==1e15)cout<<-1<<"\n";
	else cout<<ans<<"\n";
}

int main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _;_ = 1;
	while(_--)solve();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/337186.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

竞赛保研 机器视觉opencv答题卡识别系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 答题卡识别系统 - opencv python 图像识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分…

Chatopera 云服务支持大语言模型对话(LLM),定制您的聊天机器人

2024 年&#xff0c;Chatopera 云服务继续不断完善&#xff0c;为开发者提供最好的定制聊天机器人的工具。在过去的一年&#xff0c;用户们反映最多的建议是 Chatopera 云服务内置大语言模型的对话&#xff0c;今天 Chatopera 云服务完成了产品升级&#xff0c;满足了这个诉求。…

Python-setup打包命令

一、setup.py文件的书写 这个资料有很多&#xff0c;不多赘述&#xff0c;setup 函数常用的参数如下&#xff1a; 基础描述信息&#xff1a; name 包名称&#xff08;起一个响亮的名字&#xff09;version (-V) 包版本author 程序的作者author_email 程序的作者的邮箱地址mai…

Datawhale 强化学习笔记(三)基于策略梯度(policy-based)的算法

文章目录 参考基于价值函数的缺点策略梯度算法REINFORCE 算法策略梯度推导进阶策略函数的设计离散动作的策略函数连续动作的策略函数 参考 第九章 策略梯度 之前介绍的 DQN 算法属于基于价值(value-based)的算法&#xff0c;基于策略梯度的算法直接对策略本身进行优化。 将策…

Cortex-M3/M4内核中断及HAL库函数详解(1):中断相关寄存器

0 工具准备 Keil uVision5 Cortex M3权威指南&#xff08;中文&#xff09; Cortex M3与M4权威指南 stm32f407的HAL库工程 STM32F4xx中文参考手册 1 NVIC相关寄存器介绍 在Cortex-M3/M4内核上搭载了一个异常响应系统&#xff0c;支持为数众多的系统异常和外部中断。其中&#…

[AutoSar]BSW_OS 07 Autosar OS_时间保护

一、 目录 一、关键词平台说明一 时间保护的概念 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c;芯片厂商TI 英飞凌编程语言C&#xff0c;C编译器HighTec (GCC) >>>>>回到总目录<<<<<…

【设计模式】什么是外观模式并给出例子!

什么是外观模式&#xff1f; 外观模式是一种结构型设计模式&#xff0c;主要用于为复杂系统、库或框架提供一种简化的接口。这种模式通过定义一个包含单个方法的高级接口&#xff0c;来隐藏系统的复杂性&#xff0c;使得对外的API变得简洁并易于使用。 为什么要使用外观模式&a…

详解IPV6地址

华子目录 IPV6IPV4和IPV6的报头IPV6的地址组成IPV6地址写法IPV6地址分类单播地址多播地址IPV6下的组播MAC地址 协议ICMPV61.PMTU2.NDP3.前缀通告auto-config 配置静态RIPNGOSPFV3BGP4 解决IPV4和IPV6兼容问题 (共存问题)普通tunnel6to4 tunnel双栈 IPV6 特征&#xff08;升级点…

Lattice Diamond软件下载

Lattice Diamond软件官方下载方法 对于电子设计中的很多开发软件&#xff0c;下载渠道有很多&#xff0c;但是安装包的下载&#xff0c;任何时候在官网上都可以可靠的找到资源并进行下载&#xff0c;因此这里对Diamond软件的下载&#xff0c;介绍官网的下载方法。 1 Lattice官…

渣土车识别摄像机

渣土车识别摄像机是一种应用于城市管理和交通监控领域的先进技术设备。它通过摄像头实时捕捉道路上行驶的车辆画面&#xff0c;并利用先进的图像识别和算法分析技术对渣土车进行准确识别。渣土车识别摄像机的设计需要兼顾高清晰度、高速度、大容量等特点&#xff0c;以满足实际…

大数据导论(3)---大数据技术

文章目录 1. 大数据技术概述2. 数据采集与预处理2.1 数据采集2.2 预处理 3. 数据存储和管理3.1 分布式基础架构Hadoop3.2 分布式文件系统HDFS3.3 分布式数据库HBase3.4 非关系型数据库NoSQL 4. 数据可视化与保护 1. 大数据技术概述 大数据技术主要包括数据采集与预处理、数据存…

字节跳动 ByteHouse 云原生之路 – 计算存储分离与性能优化

01 起源 ByteHouse 的故事从字节跳动对于先进数据处理和分析的需求开始&#xff0c;这一需求随着公司业务规模的迅速扩张而日益增长&#xff0c;起源是对开源数据库管理系统 ClickHouse 的改造和增强。面对数据处理的高延迟、大规模数据操作的复杂性以及数据存储和处理成本的上…

Ubuntu 在更新内核后 Virtual Box 不能为虚拟电脑打开一个新任务

前言 我也不知道啥时候自动给我更新了内核&#xff0c;重启电脑之后我的内核升级成6.5.0-14-generic&#xff0c;导致Virtual Box无法找到内核文件。 解决方法 方法1 sudo apt update sudo apt install linux-headers-generic build-essential dkms sudo apt remove virtua…

go 语言爬虫库goquery介绍

文章目录 爬虫介绍goquery介绍利用NewDocumentFromReader方法获取主页信息Document介绍通过查询获取文章信息css选择器介绍goquery中的选择器获取主页中的文章链接 爬取总结 爬虫介绍 爬虫&#xff0c;又称网页抓取、网络蜘蛛或网络爬虫&#xff0c;是一种自动浏览互联网并从网…

推荐两个工具:DeepSpeed-FastGen和DataTrove

DeepSpeed-FastGen 通过 MII 和 DeepSpeed-Inference 加速LLM生成文本 仓库地址&#xff1a;https://github.com/microsoft/DeepSpeed/tree/master/blogs/deepspeed-fastgen GPT-4 和 LLaMA 等大型语言模型 (LLM) 已成为服务于各个级别的人工智能应用程序的主要工作负载。从一…

使用OpenCV绘制图形

使用OpenCV绘制图形 绘制黄色的线&#xff1a; # 绘制一个黑色的背景画布 canvas np.zeros((300, 300, 3), np.uint8) # 在画布上&#xff0c;绘制一条起点坐标为(150, 50)、终点坐标为(150, 250)&#xff0c;黄色的&#xff0c;线条宽度为20的线段 canvas cv2.line(canvas,…

网易真的大规模裁员吗?

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 以前互联网公司裁员&#xff0c;大家不紧张&#xff0c;因为容易找工作&#xff0c;而现在不知道怎么回事&#xff0c;只要以提高某某公司裁员&#xff0c;这就能迅速登上热榜。 这不&#xff0c;最近网传网易裁员1…

web架构师编辑器内容-编辑器组件图层面板功能开发-锁定隐藏、键盘事件功能的开发

我们这一部分主要是对最右侧图层面板功能进行剖析&#xff0c;完成对应的功能的开发: 每个图层都对应编辑器上面的元素&#xff0c;有多少个元素就对应多少个图层&#xff0c;主要的功能如下&#xff1a; 锁定功能&#xff1a;点击锁定&#xff0c;在编辑器中没法编辑对应的组…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-6 fieldset

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>fieldset</title> </head><body> <form action"#"><fieldset><legend>学生信息</legend>姓名&#xff1a;&…

基于python旅游推荐系统 协同过滤算法 爬虫 Echarts可视化 Django框架(源码)✅

毕业设计&#xff1a;2023-2024年计算机专业毕业设计选题汇总&#xff08;建议收藏&#xff09; 毕业设计&#xff1a;2023-2024年最新最全计算机专业毕设选题推荐汇总 &#x1f345;感兴趣的可以先收藏起来&#xff0c;点赞、关注不迷路&#xff0c;大家在毕设选题&#xff…