[C/C++] 电缆分割问题(二分查找的应用)

算法-电缆分割问题(分治,二分查找) 题目描述: 某地区即将举行区域程序设计比赛,竞赛委员会已经成立并决定举行一次最公平的竞赛, 他们决定利用星形拓扑结构来连接每个竞赛者的电脑—也即连接这些电脑到一个中心HUB上 为了达到真正的公平竞赛目的,竞赛委员会主任下令要求:每个竞赛电脑连接到中心HUB的 电缆必须是一样长的。竞赛委员会联系了一个本地的电缆老板,要求老板为他们提供一定量 的相同长度的电缆,而且要求电缆长度越长越好。通过调查,电缆... 阅读详情

课上的小朋友请自己编写..小心相似度。

大二做过的题目绝大部分已经忘了,拿来回忆巩固一下也不错。描述如下:

某地区即将举行区域程序设计比赛,竞赛委员会已经成立并决定举行一次最公平的竞赛, 
他们决定利用星形拓扑结构来连接每个竞赛者的电脑---也即连接这些电脑到一个中心HUB上 
为了达到真正的公平竞赛目的,竞赛委员会主任下令要求:每个竞赛电脑连接到中心HUB的 
电缆必须是一样长的。竞赛委员会联系了一个本地的电缆老板,要求老板为他们提供一定量 
的相同长度的电缆,而且要求电缆长度越长越好。通过调查,电缆老板知道仓库中每根电缆 
的长度(精确到厘米),而且他可以以厘米的精度剪断电缆,但确不知道他能为竞赛委员会 
提供的每根电缆的最大长度是多少? 
你的任务就是:编程求出每根电缆的最大可能的长度。

输入:

第1行,2个整数N和K,N是仓库中的电缆条数,K是竞赛委员会要求的电缆条数。 
其中 1 < N < 10000, 1 < K < 10000 
第2至第N+1行,每行为仓库中的一条电缆的长度,单位为米。

输出:
仅1行,为提供给竞赛委员的电缆最大长度(精确到小数点两位)


分析:先求得最大划分的可能长度m(所有电缆总长度/要求划分的根数k)  然后在0到m之间查找即可.

由于是小数,所以要用二分查找,每次找(left+right)/2的长度看这样划分是否符合要求的根数,如果符合再看是否是最大的可能(即right和left足够接近),不符合继续递归即可。

要注意的是 小数的判断不能用a==b 这样的形式,而要用b-a<C 这样的形式(C可以是足够小的小数,如b-a<0.01)来判断两个数是否接近。

所以这道题就是一个简单的两重条件的二分查找,代码如下:

#include<iostream>
using namespace std;
double a[10001];
double p; //划分的数量
int n,k;
void Search(double left, double right) //二分搜索
{
	if(right<0.01) p=0.0; //小于1cm 不可分
	else{
		double mid=(left+right)/2.0;
		int num=0; //用mid来切分得出的电缆根数
		for(int i=0;i<n;i++) num+=(int)(a[i]/mid);
		if(right-left<0.01 && num==k) p=mid; //找到,结束
		else if(num==k) Search(mid,right); //数量符合,但是电缆长度不是最大,说明划分小了,在mid和right中再找。
		else if(num>k) Search(mid,right); //电缆数太多,说明划分太小,需要在mid和right中再找。
		else Search(left,mid);//电缆数少,说明划分大了,需要在left和mid中再找。
	}

}
int main()
{
	cin>>n>>k;
	for(int i=0;i<n;i++) cin>>a[i];
	double length=0.0;
	for(int i=0;i<n;i++) length+=a[i]; //计算总长度
	Search(0.0, length/k); //length/k为最大的划分长度
	printf("%.2f\n",p);
	system("pause");
	return 0;
}


UE5蓝图物理交互:用Cable组件与PhysicsConstraint实现动态吊灯 在游戏开发与实时交互场景构建中,物理模拟是提升沉浸感的关键技术。其核心原理是通过引擎内置的物理系统,计算刚体、约束与力之间的相互作用,模拟真实世界的运动规律。这项技术的价值在于,它能让静态场景元素“活”起来,动态响应玩家交互与环境变化,极大增强场景的真实感与可信度。在应用场景上,物理模拟广泛用于绳索、链条、悬挂物、可破坏物件等需要动态行为的元素中。本文以UE5引擎为例,深入讲解如何利用蓝图系统中的Cable组件和PhysicsConstraint组件,高效实现一个逼真的动态吊灯效果。通过配置电缆的弹性、阻尼 阅读详情

相关推荐

TPS65983B Type-C PD控制器:集成电源管理与数据路由的实战设计指南

USB Type-C接口凭借其正反插、高功率传输和数据多功能整合能力,已成为现代电子设备的标配。其核心在于USB Power Delivery(PD)协议,该协议通过CC线进行双向通信,智能协商供电合约,实现从5V到20V乃至更高电压的灵活电源管理。这项技术极大地提升了设备的充电速度和供电灵活性,并支持DisplayPort等交替模式,实现一线连多功能。在工程实践中,高度集成的PD控制器(如TI的TPS65983B)将PD协议引擎、电源路径开关、数据多路复用器及保护电路整合于单一芯片,显著简化了外围电路设计

weixin_30596165的博客 378

分割电缆

分割电缆2010/05/15 下午 07:31题目输入:第一行是两个整数N和K,用一个空格隔开,其中N (1 = N = 10000)表示电缆的条数,K (1 = K = 10000)表示最终所需要的电缆根数。在接下来的N行里分别表示N条电缆的长度,范围从1米到100公里。所有的

无知的我 2164

UE5样条线底层原理与工程实践:从路径控制到空间编程

样条线是虚幻引擎中实现高精度空间路径建模的核心机制,其本质并非几何线条,而是基于三次贝塞尔插值的参数化数学对象。它通过控制点的位置、切线、旋转与缩放五维属性,在世界坐标与局部切线坐标系间建立可计算的空间映射关系。理解距离参数化与时间参数化的差异,能避免过山车忽快忽慢、AI路径漂移等典型问题;掌握切线长度对曲率的影响,则直接决定桥梁弧度、电缆张力等物理表现的真实性。该技术广泛应用于程序化道路生成、动态软管模拟、AI精细巡逻及Niagara粒子路径驱动等场景,是替代物理模拟与静态摆放、实现轻量级实时空间逻辑的关

weixin_31556767的博客 231

洛谷1577 1297切绳子(二分答案)

题目描述 Wonderland居民决定举行一届地区性程序设计大赛。仲裁委员会志愿负责这次赛事并且保证会组织一次有史以来最公正的比赛。为此,所有参赛者的电脑和网络中心会以星状网络连接,也就是说,对每个参赛者,组委会会用一根长度一定的网线将他的计算机与中心连接,使得他们到网络中心的距离相等。 为了买网线,组委会与当地的网络公司联系,要向他们购买一定数目的等长网线,这些网线要尽可能的长,使得组织者可...

weixin_30896763的博客 385

Android车载串口开发:UART/RS232/RS485全栈实践指南

UART是嵌入式系统中最基础的异步串行通信接口,其在车载电子中承担着连接ECU、传感器与域控制器的关键角色。理解UART工作原理、电平标准(TTL/RS232/RS485)及Linux内核驱动机制,是实现稳定低延迟通信的前提。技术价值体现在抗干扰设计、DMA缓冲优化、RS485自动收发时序控制等车规级要求上;典型应用场景包括OBD诊断、Modbus RTU通信、GPS数据接入及车身域总线汇聚。本文聚焦Android平台下从设备树配置、HAL层适配到JNI/Native串口操作的完整链路,深度解析RS232电

weixin_33860553的博客 379

别再手动切模型了!3DMAX切片插件(支持2016-2023)保姆级安装与实战技巧

本文详细介绍了3DMAX切片插件的安装与实战技巧,帮助用户告别低效的手动切割操作。通过保姆级教程,掌握插件安装、核心参数设置及高阶应用技巧,显著提升建筑、游戏和工业设计模型的切割效率与精度。特别适合需要处理复杂模型的中级用户。

weixin_30378623的博客 363

【NOIp模拟】【二分答案】电缆老板

背景 某地区即将举行区域程序设计比赛,竞赛委员会已经成立并决定举行一次最公平的竞赛,他们决定利用星形拓扑结构来连接每个竞赛者的电脑—也即连接这些电脑到一个中心HUB上;为了达到真正的公平竞赛目的,竞赛委员会主任下令要求:每个竞赛电脑连接到中心HUB的电缆必须是一样长的。 竞赛委员会联系了一个本地的电缆老板,要求老板为他们提供一定量的相同长度的电缆,而且要求电缆长度越长越好。...

weixin_30266829的博客 201

5、图像处理中的图像分割技术详解

本文详细探讨了图像分割技术在数字图像处理中的应用,涵盖了其在医疗、遥感、机器人视觉等多个领域的应用需求。文章介绍了图像分割的基本分类方法,包括基于区域和边界的方法,以及具体技术如阈值分割、边缘分割、区域分割、分水岭分割、聚类分割和神经网络分割。同时,文章分析了不同分割技术的性能特点,并提供了选择策略及未来发展趋势,旨在帮助读者更好地理解和应用图像分割技术。

green的博客 68

c++rs法计算hurst指数_电力电缆主要电气参数计算公式及计算实例

1. 设计电压电缆及附件的设计必须满足额定电压、雷电冲击电压、操作冲击电压和系统最高电压的要求。其定义如下:额定电压额定电压是电缆及附件设计和电性试验用的基准电压,用U0/U表示。U0——电缆及附件设计的导体和绝缘屏蔽之间的额定工频电压有效值,单位为kV;U——电缆及附件设计的各相导体间的额定工频电压有效值,单位为kV。雷电冲击电压 UP——电缆及附件设计所需承受的雷电冲击电压的峰值,既基本绝缘水...

weixin_39547298的博客 436

OpenCV实时语义分割工程实践:轻量模型部署与DNN推理优化

语义分割是计算机视觉中将图像像素按语义类别划分的基础任务,其核心依赖编码器-解码器结构实现特征提取与空间重建。在边缘计算场景下,传统深度学习框架(如PyTorch/TensorFlow)因运行时开销大、内存占用高,难以满足工业级实时性要求;而OpenCV的cv2.dnn模块凭借零依赖、低内存、C++原生支持等优势,成为嵌入式语义分割落地的关键技术路径。本文聚焦OpenCV DNN推理链路的全栈优化——涵盖轻量编码器设计、ONNX导出避坑、blobFromImage预处理调优、多线程异步推理及掩码后处理加速,

weixin_32239523的博客 330

HDMI/DVI转RGB硬件转换器完整Cadence工程设计

HDMI转RGB是嵌入式显示接口开发中的基础且关键的协议转换任务,其核心在于TMDS解码、时序重构与模拟驱动三阶段协同。本文围绕工业级HDMI/DVI→RGB转换器展开,深入解析基于TI TFP410接收芯片与ADI ADV7123 DAC的信号链路设计原理,涵盖EDID动态加载、RGB时序合规性验证、I²C寄存器级配置等关键技术环节。该方案规避FPGA实现,采用ASIC+MCU架构,在保障VESA标准兼容性的同时显著降低BOM成本与EMI风险,适用于工控屏、国产SoC(如RK3566)RGB LCD适配及

weixin_31774841的博客 144

二分入门总结 B - Cable master,C - Aggressive cows,A - Monthly Expense

zz

maduit的博客 466

基于MATLAB的工业视觉检测系统:从算法原型到产线部署全解析

机器视觉作为工业自动化的核心技术,通过图像处理与模式识别原理,赋予机器感知与决策能力,在提升生产质量与效率方面具有重要技术价值。其广泛应用于定位、测量、识别与检测等场景,尤其在高速产线的在线质检中不可或缺。本文聚焦于罐装生产线这一典型应用,深入探讨如何利用MATLAB进行图像预处理、ROI分割、特征提取及分类决策,构建一套完整的自动检测系统。文中将详细解析如何通过中值滤波、Canny边缘检测等关键算法处理工业图像,并分享从算法原型优化到实时系统部署的工程实践经验,为相关领域的开发与实施提供参考。

weixin_33922672的博客 367

WhatCable 第三方依赖溯源指南:EDID 解码代码与 VESA/CTA 时序表的移植、校验与合规

WhatCable 是一个在 macOS 菜单栏中用通俗语言解释每条 USB-C 线缆实际能力的工具,其核心功能之一是对显示器 EDID 的深度解析。本篇指南以仓库根目录的 [THIRD_PARTY_NOTICES.md](https://link.gitcode.com/i/ef0fa5d6762b238e2eac91d7c0a8d22a) 为主体,完整梳理该项目中"移植自 edid-decod

gitblog_01071的博客 141

分割电缆 算法设计与分析编程题

输入:第一行是两个整数N和K,用一个空格隔开,其中N (1 = N = 10000)表示电缆的条数,K (1 = K = 10000)表示最终所需要的电缆根数。在接下来的N行里分别表示N条电缆的长度,范围从1米到100公里。所有的长度都精确到厘米,即小数点后两位。 输出:每根电缆的最大长度,单位为米,精确到小数点后两位。如果不能满足要求(即每根的长度还不到1厘米),就输出0.00。

城市之间光纤网连接的最短电缆长度

数据库课程设计,关于城市之间光纤网连接的最短电缆长度的设计方案,里面有详细的报告和代码。

网络协议上课笔记(一)

前置说明:本系列笔记跟腾讯课堂网络协议从入门到底层原理-MJ大神新课的教学视频的pdf课件一一对应,如:网络协议上课笔记(一)则对应01_基本概念.pdf,网络协议上课笔记(二)则对应02_MAC地址_IP地址.pdf。 跨平台的原理  这里所说的平台是代指操作系统。  C、C++跨平台是每个平台都需要编译,然后编译成对应平台的可执行文件;Java跨平台原理是:java将代码编译成.class文件交给JVM运行,JVM在根据自己所处的平台将.class编译对应平台的可执行文件。相当于以多了一个“JVM中间

Yal_insist的博客 426

【STC32G12K128开发板】——搭建开发环境

Keil C251是美国Keil公司(该公司2005年被ARM公司收购)出品的针对251微控制器系列兼容单片机C语言软件开发系统。

qq_36139768的博客 1万+

BF592 AD/DA手把手实战:从硬件设计到寄存器协同

AD/DA转换是嵌入式信号处理的核心基础能力,其原理涉及采样定理、参考电压稳定性、时钟域同步与负载匹配等关键环节。在工业传感、电机控制和便携医疗设备中,高精度模数/数模转换直接决定系统实时性与测量可靠性。BF592作为Blackfin系列低功耗定点DSP,其集成的10位SAR ADC与电流舵DAC并非独立外设,而是需通过事件链(EVTx)、DMA与定时器深度协同的闭环子系统。本文聚焦BF592 AD/DA的硬件约束、信号链七级衰减、寄存器依赖链配置及典型故障根因,结合VREF去耦、建立时间优化、双缓冲刷新等

weixin_30698527的博客 298

AI人工智能领域多模态大模型的数字孪生应用

本文旨在系统性地介绍多模态大模型在数字孪生领域的最新应用进展,探讨其技术原理、实现方法和应用价值。内容范围涵盖从基础概念到前沿技术,从理论分析到实践案例。文章首先介绍多模态大模型和数字孪生的基本概念,然后深入分析两者的结合点,接着通过具体案例展示应用实践,最后探讨未来发展趋势和挑战。多模态大模型:能够同时处理和融合多种数据模态(如文本、图像、视频、音频等)的大型人工智能模型数字孪生:物理实体或系统的虚拟副本,通过实时数据同步实现虚实交互跨模态融合:将不同数据模态的信息进行有效整合和关联的技术。

AI云原生与云计算技术学院 1325

Ferromagnetic soft continuum robots

本文来自机器人领域顶刊,Science Robotics。介绍了一种铁磁软连续体机器人,主要贡献为1)介绍了一个基于磁性微粒和聚合物的软连续体机器人的制造方法,在机器人外表面涂了一层水凝胶,极大地降低了摩擦阻力;2)并研究了在磁场下,不同粒子体积分数下,此机器人的驱动性能;利用手动操控的磁铁,进行了许多实验证明该机器人性能的优异性。 铁磁软连续体机器人 Ferromagnetic soft continuum robots [1] Paper Link Authors: Kim, Yoonho, et al

XU Yangxin的博客 1372
上一篇: [C/C++] 冒泡排序简洁写法
下一篇: [C/C++] 用线性时间选择来找无序数组的中位数
PerryXu_BIT
博客等级 码龄12年 5粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值