【AcWing题解/洛谷题解/USACO题解】P1948 Telephone Lines S 通信线路
题目链接AcWinghttps://www.acwing.com/problem/content/description/342/洛谷https://www.luogu.com.cn/problem/P1948前置知识1.1.1.二分法和二分答案2.2.2.单源最短路、双端队列宽度优先搜索思路分析本题解的设问主要依据AcWing的翻译所作.第一部分从设问开始——二分法的框架设问中强调需要支付的费用是最昂贵的那一条同时又强调要使最小即求最大值的最小值所以采用二分法。二分法中我们需要得到一个满足题目要求的性质。设二分得到的中间值为xxx题目要求指定路径上不超过kkk条电缆则我们就需要判断费用大于xxx的电缆总数是否小于等于kkk。如果费用大于xxx的电缆总数超过kkk则说明我就算全部都免费升级费用大于xxx的电缆也会在该部分存在电缆不免费升级那么当前中间值xxx就不是剩下电缆中最昂贵的不符合题意。对于二分法中的左右边界虽然电缆费用的范围为111到10610^6106但是如果当前数据无解我们会二分到右边界如果有解仍然有可能会到右边界为了区分这样的情况我们把二分的左右边界设为000和106110^611061。若x≤kx≤kx≤k则满足性质将midmidmid继续往前半部分推移否则不满足性质往后半部分推移。第二部分性质的判定——最短路的结合如何判定其是否满足性质呢我们可以设费用大于xxx的电缆权值为1设费用小于等于xxx的电缆权值为0再做最短路算法这样就可以算出最少需要有多少电缆费用大于xxx了。如果到达点NNN时的距离dis[N]dis[N]dis[N]小于等于kkk则说明电缆数不超过kkk条。对于边权值只有000和111的最短路我们可以使用双端队列BFS。AC代码细节上的注意点已经写入注释。#includeiostream#includecstdio#includecstring#includedequeusingnamespacestd;//注意点1边要开两倍空间因为是双向边constintN1100,M2e410,INF0x3f3f3f3f;intn,m,k;inte[M],ne[M],h[N],w[M],idx;intst[N],dis[N];dequeintq;voidadd(inta,intb,intc){w[idx]c;e[idx]b;ne[idx]h[a];h[a]idx;return;}boolcheck(intx){//注意点2st数组一定要记得初始化memset(st,0,sizeofst);memset(dis,INF,sizeofdis);dis[1]0;q.push_back(1);while(!q.empty()){intnowq.front();q.pop_front();if(st[now])continue;st[now]true;for(intih[now];i!-1;ine[i]){intje[i],vw[i]x;if(dis[j]dis[now]v){dis[j]dis[now]v;if(!v)q.push_front(j);elseq.push_back(j);}}}returndis[n]k;}intmain(){//注意点3头数组也一定要初始化memset(h,-1,sizeofh);scanf(%d%d%d,n,m,k);for(inti1;im;i){inta,b,c;scanf(%d%d%d,a,b,c);add(a,b,c);add(b,a,c);}intl0,r1e61;while(lr){intmidlr1;if(check(mid))rmid;elselmid1;}if(r1e61)printf(-1);elseprintf(%d,r);return0;}

相关新闻

AM1705工业嵌入式开发实战:ARM9核心、PRU实时单元与硬件设计详解

AM1705工业嵌入式开发实战:ARM9核心、PRU实时单元与硬件设计详解

1. 项目概述:为什么选择AM1705这颗“老将”?在嵌入式开发领域,尤其是工业控制和自动化场景,选型往往是一场在性能、成本、稳定性和长期供货之间的艰难平衡。十年前,当TI推出基于ARM926EJ-S内核的AM1705时,它…

2026/10/19 14:48:59 阅读更多 →
C++学习打卡day1

C++学习打卡day1

memset头文件&#xff1a;#include <string.h>函数原型&#xff1a;void *memset(void *ptr,int value,size_t_Size)作用&#xff1a;1.逐字节赋值-->memset&#xff08;传入内存起始地址&#xff0c;赋值为什么&#xff0c;要赋值几位&#xff09;。2.可以用于--数组…

2026/10/17 6:32:25 阅读更多 →
【数字孪生工业应用实战】第4篇:实时数据采集与多源异构数据集成:构筑数字孪生的“神经系统” —— 从协议适配到数据湖的万字实战全解

【数字孪生工业应用实战】第4篇:实时数据采集与多源异构数据集成:构筑数字孪生的“神经系统” —— 从协议适配到数据湖的万字实战全解

【数字孪生工业应用实战】第4篇:实时数据采集与多源异构数据集成:构筑数字孪生的“神经系统” —— 从协议适配到数据湖的万字实战全解 摘要 在数字孪生系统建设中,数据采集与多源异构集成是决定项目成败的第一道关卡。工业现场充斥着Modbus、OPC UA、MQTT等多种协议,数据…

2026/10/20 9:32:30 阅读更多 →

最新新闻

Windows下CUDA 11.8配cuDNN 8.9.7.29完整配置指南

Windows下CUDA 11.8配cuDNN 8.9.7.29完整配置指南

简介&#xff1a;本资源为NVIDIA官方CUDNN 8.9.7.29 Windows x64版本完整安装包&#xff0c;专为使用CUDA 11.x进行深度学习开发的Windows开发者设计&#xff0c;适用于TensorFlow、PyTorch等框架的GPU加速部署与本地模型训练优化。压缩包共32个文件&#xff0c;包含14个.lib库…

2026/10/20 17:35:09 阅读更多 →
基于滑模观测器的无感PMSM控制Simulink仿真与SVPWM实现

基于滑模观测器的无感PMSM控制Simulink仿真与SVPWM实现

做无感PMSM控制&#xff0c;最绕不开的就是转子位置和速度怎么拿。装编码器当然省事&#xff0c;但成本、温漂、振动、安装空间这些现实问题摆在那儿&#xff0c;尤其在一些批量化、高可靠性的应用场景里&#xff0c;机械传感器反而成了最脆弱的一环。圈里做电机控制的工程师应…

2026/10/20 17:35:09 阅读更多 →
Java企业多模型接入困局破解:适配器模式与模型路由实战

Java企业多模型接入困局破解:适配器模式与模型路由实战

最近一年&#xff0c;AI大模型API的价格和接入门槛被卷到了历史低点&#xff0c;很多Java团队都开始把手头的存量业务往AI上靠。但真上手之后&#xff0c;绝大多数团队遭遇的第一个意外&#xff0c;不是模型效果不合格&#xff0c;而是接入层先乱套了&#xff1a;不同厂商给的S…

2026/10/20 17:35:09 阅读更多 →
从散装技能到能力体系:技能树构建与刻意练习实战指南

从散装技能到能力体系:技能树构建与刻意练习实战指南

1. 重新理解“skills”&#xff1a;你真的知道自己会什么吗聊起“skills”这个词&#xff0c;大部分人第一反应是“我会PS”“我会写Python”“我会做PPT”&#xff0c;但这些只是技能清单里的皮毛。我这些年带过的项目、面试过的人、合作过的伙伴&#xff0c;让我逐渐意识到一…

2026/10/20 17:35:09 阅读更多 →
基于启发式算法的无人机三维动态避障路径规划与MATLAB实现

基于启发式算法的无人机三维动态避障路径规划与MATLAB实现

搞无人机三维路径规划&#xff0c;最头疼的不是把起点到终点连一条线&#xff0c;而是要在一个有山包、楼宇、禁飞区&#xff0c;甚至还有移动障碍物的三维空间里&#xff0c;找出一条既安全、又相对好飞、还能实时响应的轨迹来。这篇文章要聊的这套基于启发式算法的动态避障方…

2026/10/20 17:35:09 阅读更多 →
这6个底层技能,比学一堆工具更不容易过时

这6个底层技能,比学一堆工具更不容易过时

这6个“常用技能”&#xff0c;我一开始全理解错了。当时看项目标题“分享6个最常用的skill”&#xff0c;我第一反应是准备一份技术栈清单&#xff0c;甚至把某段时间特别火的几类工具关键词都列了出来。但和朋友聊完、又翻了几次项目正文之后才发现&#xff0c;真正的核心不是…

2026/10/20 17:34:07 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →