洛谷 P4568 [JLOI2011] 飞行路线 pytho解析

P4568 [JLOI2011] 飞行路线 pytho解析

时间:2023.11.20
题目地址:[JLOI2011] 飞行路线

题目分析

对于这个题呢就是最短路的问题了。那就可以用Dijkstra 算法,唯一不同的地方就是有免费的机票次数,那我们就先不考虑这个,就当次数为0。见代码①。这样就是一个比较模板的最短路问题了。
那现在要考虑到有免费的次数,那么就要将ans数组进行改变,引入一个次数即可,见代码②。看看代码的变化,理解清楚即可。
但是提交超时了,呃,只能说python是这样的,哈哈哈哈哈。
重在理解思路。
1

代码

① 假设免费机票次数为0

from queue import PriorityQueuen, m, k = map(int, input().split())
s, t = map(int, input().split())
e = [[] for _ in range(n)]
for _ in range(m):a, b, c = map(int, input().split())e[a].append((b, c))e[b].append((a, c))pq = PriorityQueue()
ans = [float('inf')]*n
vis = set()
pq.put((0, s))
ans[s] = 0
while not pq.empty():_, u = pq.get()if u in vis:continuevis.add(u)for v, w in e[u]:if ans[v] > ans[u] + w:ans[v] = ans[u] + wpq.put((ans[v], v))print(ans[t])     

② 超时,过70%

from queue import PriorityQueuen, m, k = map(int, input().split())
s, t = map(int, input().split())
e = [[] for _ in range(n)]
for _ in range(m):a, b, c = map(int, input().split())e[a].append((b, c))e[b].append((a, c))pq = PriorityQueue()
ans = [[float('inf')]*(k+1) for _ in range(n)]  # 引入cnt
vis = set()
pq.put((0, s, 0))     # 初始cnt为0
for i in range(k+1):ans[s][i] = 0
while not pq.empty():_, u, nowcnt = pq.get()if (u, nowcnt) in vis:continuevis.add((u,nowcnt))for v, w in e[u]:if nowcnt < k and ans[v][nowcnt+1] > ans[u][nowcnt]:ans[v][nowcnt+1] = ans[u][nowcnt]pq.put((ans[v][nowcnt+1], v, nowcnt+1))if ans[v][nowcnt] > ans[u][nowcnt] + w:ans[v][nowcnt] = ans[u][nowcnt] + wpq.put((ans[v][nowcnt], v, nowcnt))print(min(ans[t]))     

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】标准模板库 STL 简介

&#x1f9d1;‍&#x1f393;个人主页&#xff1a;简 料 &#x1f3c6;所属专栏&#xff1a;C &#x1f3c6;个人社区&#xff1a;越努力越幸运社区 &#x1f3c6;简 介&#xff1a;简料简料&#xff0c;简单有料~在校大学生一枚&#xff0c;专注C/C/GO的干货分…

B站短视频如何去水印?一键解析下载B站视频!

在浏览B站视频时&#xff0c;我们有时会遇到带有水印的场景。这些水印可能会干扰我们对视频内容的观看体验&#xff0c;特别是在全屏观看时。此外&#xff0c;当我们想要保存或分享这些视频时&#xff0c;水印也会成为一种障碍。因此&#xff0c;去除水印的需求就变得非常迫切。…

PXE高效批量网络装机

什么是PXE PXE是由Intel公司开发的最新技术&#xff0c;全称为“Preboot Execution Environment”&#xff08;预启动执行环境&#xff09;&#xff0c;工作于Client/Server的网络模式。它允许工作站通过网络从远端服务器下载映像&#xff0c;并由此支持通过网络启动操作系统。…

机器学习赋予用户“超人”的能力来打开和控制虚拟现实中的工具

原创 | 文 BFT机器人 最近&#xff0c;剑桥的研究人员开发了一种虚拟现实应用程序&#xff0c;只需用户手部的移动即可打开和控制一系列3D建模工具。 来自剑桥大学的研究人员利用机器学习开发了“HotGestures”类似于许多桌面应用程序中使用的热键&#xff08;快捷键&#xff…

fastdfs-client-java-1.30 maven 打包安装

1. 进入源代码目录&#xff0c;打开cmd mvn clean install 或者 mvn package 问题不大的话会在同级目录target目录下生成打包后文件 2. 当前目录下cmd进行maven安装 mvn install:install-file -DgroupIdorg.csource -DartifactIdfastdfs-client-java -Dversion${version} -D…

HTTP(Hypertext Transfer Protocol)协议

文章目录&#xff1a; 什么是HTTP&#xff1f;认识URLurlencode 和 urldecodeHTTP 协议请求和响应格式HTTP 请求&#xff08;Request&#xff09;HTTP 响应&#xff08;Response&#xff09; HTTP 请求方法HTTP 的状态码常见的Header 什么是HTTP&#xff1f; HTTP&#xff08;…

用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制AI助手——PPT大纲助手

随着人工智能技术的不断发展,AI助手在各行各业中扮演着越来越重要的角色。在商业领域,PPT演示是一种常见的沟通方式,而定制化的PPT大纲助手能够极大地提高PPT制作效率和质量。本文将介绍如何利用向量数据库Milvus Cloud搭建GPT大模型和私有知识库,构建一款高效的PPT大纲助手…

产品智能化成照明企业“必选题” 小匠物联交出标准答卷

7月20日&#xff0c;由佛山市科学技术局、佛山市工业和信息化局、佛山市科学技术协会指导&#xff0c;佛山市照明灯具协会主办的“2023佛山市智能照明&驱动新技术研讨会”在佛山市国家火炬创新创业园宜尚PLUS酒店隆重举行。此次会议邀请近100位知名企业产品经理和研发工程师…

金蝶云星空ScpSupRegHandler任意文件上传漏洞复现 [附POC]

文章目录 金蝶云星空ScpSupRegHandler任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 金蝶云星空ScpSupRegHandler任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请…

3 个常识点必须先了解!0基础入门Python!

学习一门新的语言之前&#xff0c;首先简单了解下这门语言的背景。Python 是一种面向对象的解释型计算机程序设计语言&#xff0c;由荷兰人 Guido van Rossum 于 1989 年发明&#xff0c;第一个公开发行版发行于 1991 年。 Python 在设计上坚持了清晰划一的风格&#xff0c;这…

Xrdp+内网穿透实现远程访问Linux Kali桌面

XrdpCpolar实现远程访问Linux Kali桌面 文章目录 XrdpCpolar实现远程访问Linux Kali桌面前言1. Kali 安装Xrdp2. 本地远程Kali桌面3. Kali 安装Cpolar 内网穿透4. 配置公网远程地址5. 公网远程Kali桌面连接6. 固定连接公网地址7. 固定地址连接测试 前言 Kali远程桌面的好处在于…

交易机器人-微信群通知

微信公众号:大数据高性能计算 1 背景 背景是基于人工去做交易本身无法做到24小时无时无刻的交易,主要是虚拟币本身它是24小时交易,人无法做到24小时盯盘,其次就是如果你希望通过配置更加复杂的规则甚至需要爬取最新的信息走模型进行量化交易的时候,就需要自己去做一些量化…

竞赛选题 行人重识别(person reid) - 机器视觉 深度学习 opencv python

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习行人重识别(person reid)系统 该项目…

在vue-cli中快速使用webpack-bundle-analyzer

webpack-bundle-analyzer 是一个可视化资源分析工具&#xff0c;可以直观地分析打包出的文件有哪些&#xff0c;及它们的大小、占比情况、各文件 Gzip压缩后的大小、模块包含关系、依赖项等。 从vue-cli官方的更新记录可以看到&#xff0c;从vue-cli3开始集成report命令 当前环…

Python 基础之线程池入门

Python 基础之线程池入门 代码示例 import threading import time from concurrent.futures import ThreadPoolExecutor# 创建线程池 threadpool ThreadPoolExecutor(max_workers 20)# 具体执行任务的方法 def test(i):print(">>>>>>>>>>…

设计模式-组合模式-笔记

“数据结构”模式 常常有一些组件在内部具有特定的数据结构&#xff0c;如果让客户程序依赖这些特定数据结构&#xff0c;将极大地破坏组件的复用。这时候&#xff0c;将这些特定数据结构封装在内部&#xff0c;在外部提供统一的接口&#xff0c;来实现与特定数据结构无关的访…

什么是tomcat, tomcat该如何使用?(java)

目录 tomcat是什么? 下载安装 tomcat目录结构 启动服务器 部署静态页面 什么是"静态"? 部署单个HTML页面 部署带有CSS / JavaScript / 图片的HTML 部署html到单独的目录中 部署到云服务器 tomcat是什么? tomcat翻译过来为汤姆猫, 但是他可不是猫和老鼠中的…

餐饮品牌的市场不断下沉释放信号,乡镇外卖的发展机会来临

随着越来越多的人开始使用互联网&#xff0c;"小镇经济"迅速兴起&#xff0c;成为消费市场的热点&#xff0c;这是因为小镇人口庞大&#xff0c;消费需求快速增长。 数据表明&#xff0c;在中国消费市场中&#xff0c;下沉市场的消费规模占比高达17万亿元&#xff0…

消息消费过程

前言 本文介绍下Kafka消费过程, 内容涉及消费与消费组, 主题与分区, 位移提交&#xff0c;分区再平衡和消费者拦截器等内容。 消费者与消费组 Kafka将消费者组织为消费组, 消息只会被投递给消费组中的1个消费者。因此, 从不同消费组中的消费者来看, Kafka是多播(Pub/Sub)模式…

42、element表格内容溢出自动往上滚动,鼠标移入停止滚动,溢出继续滚动

vue模块&#xff0c;添加ref属性 <v-table ref"rollTable" style"margin: 0!important;" :loading"TBloading" :isIndex"true" :tableData"tableData":tableHead"tableHead":paginationShow"false"…