[每日一练] “排查网络故障“ 题目解析

本文涉及的产品
云解析DNS-重点域名监控,免费拨测 20万次(价值200元)
简介: [每日一练] “排查网络故障“ 题目解析

题目来源于CSDN每日一练2023年3月15日期!

题目描述:

A地跟B地的网络中间有n个节点(不包括A地和B地),相邻的两个节点是通过网线连接。正常的情况下,A地和B地是可以连通的,有一天,A地和B地突然不连通了,已知只有一段网线出问题(两个相邻的节点)小明需要排查哪段网线出问题。他的排查步骤是: 1。 选择某个中间节点 2。 在这个节点上判断跟A地B地是否连通,用来判断那一边出问题 请问小明最少要排查多少次,才能保证一定可以找到故障网线

输入描述:

一个正整数 n (n <= 10^18),表示A地和B地之间的节点数

输出描述:

输出一个数字,代表保证一定可以找到故障网线的前提下,小明最少要排查多少次

原题图片:

题目分析:

二分查找或者二分法。

假设 A 到 B 的距离为 d,已知出了问题的那个节点在距离 A 的位置为 x(0 <= x <= d),那么问题就变成了如何确定 x。我们可以采用二分法的思想,首先在节点的中心点进行测试,如果中心点与 A 的连通性没有变化,那么问题就出在右侧,否则问题就在左侧。然后依次类推,每次都将待查找的区间缩小一半,直到找到问题节点。

因此,我们可以用一个 while 循环来实现二分查找

程序C语言:

#include <stdio.h>
int main() {
    long long n;
    scanf("%lld", &n);
    long long left = 0, right = n;
    long long mid;
    long long ans = 0;
    while (left <= right) {
        mid = (left + right) / 2;
        ans++;
        if ((mid * (n - mid + 1) + mid * (mid - 1) / 2) >= n) {
            right = mid - 1;
        } else {
            left = mid + 1;
        }
    }
    printf("%lld\n", ans);
    return 0;
}

程序解读:

在代码中,我们首先读入节点数 n,然后初始化待查找区间的左右端点 left 和 right。接下来,我们使用一个 while 循环,每次计算区间的中心点 mid,并测试 mid 节点与 A 是否连通。如果 mid 节点与 A 连通,说明问题节点在 mid 的左侧,因此将 right 设为 mid - 1;否则问题节点在 mid 的右侧,将 left 设为 mid + 1。在循环的过程中,我们使用一个计数器 ans 记录了需要测试的次数,最终输出 ans 即可。

需要注意的是,题目中节点数 n 的范围非常大,因此需要使用 long long 类型来存储。同时,在计算 mid 节点的时候,为了避免整数溢出,我们采用了 mid = (left + right) / 2 的方式,而没有使用 mid = left + (right - left) / 2。

运行结果:

 


相关文章
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
7月前
|
人工智能 监控 安全
NTP网络子钟的技术架构与行业应用解析
在数字化与智能化时代,时间同步精度至关重要。西安同步电子科技有限公司专注时间频率领域,以“同步天下”品牌提供可靠解决方案。其明星产品SYN6109型NTP网络子钟基于网络时间协议,实现高精度时间同步,广泛应用于考场、医院、智慧场景等领域。公司坚持技术创新,产品通过权威认证,未来将结合5G、物联网等技术推动行业进步,引领精准时间管理新时代。
|
3月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
403 11
|
3月前
|
域名解析 缓存 网络协议
DNS更新后不生效?快速排查攻略
本文介绍了修改DNS后不生效,其主因是DNS传播延迟。TTL值、ISP缓存及服务器位置影响传播速度。提前调小TTL、清除本地缓存、更换公共DNS可加速。通过nslookup、Dig或Myssl工具可检测全球解析状态,确保更新完成。
426 1
|
3月前
|
安全 网络性能优化 网络虚拟化
网络交换机分类与功能解析
接入交换机(ASW)连接终端设备,提供高密度端口与基础安全策略;二层交换机(LSW)基于MAC地址转发数据,构成局域网基础;汇聚交换机(DSW)聚合流量并实施VLAN路由、QoS等高级策略;核心交换机(CSW)作为网络骨干,具备高性能、高可靠性的高速转发能力;中间交换机(ISW)可指汇聚层设备或刀片服务器内交换模块。典型流量路径为:终端→ASW→DSW/ISW→CSW,分层架构提升网络扩展性与管理效率。(238字)
865 0
|
4月前
|
XML JSON JavaScript
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
126 0
从解决跨域CSOR衍生知识 Network 网络请求深度解析:从快递系统到请求王国-优雅草卓伊凡
|
7月前
|
机器学习/深度学习 人工智能 算法
深度解析:基于卷积神经网络的宠物识别
宠物识别技术随着饲养规模扩大而兴起,传统手段存在局限性,基于卷积神经网络的宠物识别技术应运而生。快瞳AI通过优化MobileNet-SSD架构、多尺度特征融合及动态网络剪枝等技术,实现高效精准识别。其在智能家居、宠物医疗和防走失领域展现广泛应用前景,为宠物管理带来智能化解决方案,推动行业迈向新高度。
|
6月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
7月前
|
网络架构
广播域与冲突域:解析网络技术中的复杂性。
总的来说,理解广播域和冲突域的概念可以使我们在设计或维护网络的过程中,更有效地管理通信流程,避免出现网络瓶颈,提成整体网络性能。就像是如何有效地运作一个市场,把每个人的需求和在合适的时间和地点配对,确保每个人的声音都被听到,每个人的需求都被满足。
239 11
|
7月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
236 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析

推荐镜像

更多
  • DNS