管道...


问题描述
有一根长度为 len的横向的管道,该管道按照单位长度分为len段,每一段的中央有一个可开关的阀门和一个检测水流的传感器。
开始管道是空的,位于工,的阀门会在S时刻打开,并不断让水流入管道。
对于位于 工的阀门,它流入的水在 T(TS)时刻会使得从第工i-(T;-S)段到第工+(T- S)段的传感器检测到水流。
求管道中每一段中间的传感器都检测到有水流的最早时间
输入格式
输入的第一行包含两个整数n,len,用一个空格分隔,分别表示会打开的阀门数和管道长度。
接下来n行每行包含两个整数 L,S,用一个空格分隔,表示位于第L段管道中央的阀门会在S时刻打开
输出格式
输出一行包含一个整数表示答案

import os
import sys# 请在此输入您的代码
def findtime(len,data,time,n):dp=[[-1]*2 for _ in range(n)]#记录每段的起始位置和结束位置for i in range(n):if time>=data[i][1]: #题目Ti>=Sidp[i][0]=max(data[i][0]-(time-data[i][1]),1) #题目公式 起始位置dp[i][1]=min(data[i][0]+(time-data[i][1]),len)  #结束位置dp.sort()  #根据起始位置排序#分析中间是否有断点(即没有水的地方要排除)duan=0for start,end in dp:  #如dp = [[1, 3], [4, 6], [7, 9], [10, 12]]if start>duan+1:return Falseduan=max(duan,end)return duan>=lenn,len=map(int,input().split()) #阀门数
data=[list(map(int,input().split())) for _ in range(n)]
#二分法找出能够使没有断点出现的时间
l,r=1,10**9
while(l<=r):mid=(l+r)//2if findtime(len,data,mid,n): #如果找到覆盖全部管道的时间,就继续缩小时间找出最小值r=midelse:l=mid+1
print(l)

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

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

相关文章

app逆向-ratel框架-sekiro框架的安装使用

文章目录 一、前言二、初次尝试三、原⽣APP的使⽤四、ratel框架结合sekiro框架使用 一、前言 sekiro主要支持多节点的程序调用&#xff0c;所以他归属于RPC&#xff08;Remote Procedure Call&#xff09;框架&#xff1a;API管理、鉴权、分布式、负载均衡、跨语言 开源文档&…

如何在群晖NAS部署WPS容器并实现无公网IP远程访问本地office软件

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本&#xff0c;通过…

【C语言】指针详解2

&#x1f451;个人主页&#xff1a;啊Q闻 &#x1f387;收录专栏&#xff1a;《C语言》 &#x1f389;道阻且长&#xff0c;行则将至 前言 这篇博客分享的指针部分为与数组有关的指针知识&#xff0c;包括一位数组和二维数组 指针详解1的博客 【C语言】指针…

算法思想总结:双指针算法

一、移动零 . - 力扣&#xff08;LeetCode&#xff09; 移动零 该题重要信息&#xff1a;1、保持非0元素的相对位置。2、原地对数组进行操作 思路&#xff1a;双指针算法 class Solution { public:void moveZeroes(vector<int>& nums){int nnums.size();for(int cur…

高性能服务系列【七】网络的延迟构成

上文讲过&#xff0c;在以太网中&#xff0c;不论要发多少字节的TCP数据&#xff0c;78个字节的固定协议格式是必须的。很显然&#xff0c;每个以太网帧越大&#xff0c;最大不超过1538个字节&#xff0c;则有效载荷占比越高。而以太网帧越小&#xff0c;同样字节的应用层数据&…

如何将本地开发完成后的数据库文件迁移到服务器中

将本地开发完成后的数据库文件迁移到服务器中的数据库是一个常见的操作&#xff0c;尤其是在项目部署阶段。这个过程大致可以分为导出&#xff08;备份&#xff09;本地数据库、传输文件到服务器、以及导入数据库到服务器数据库中三个步骤。这里我将以 MySQL 和 MongoDB 为例来…

【Linux】Shell编程【二】

目录 Shell流程控制条件测试注意事项示例[ condition ]与[[ condition ]]的区别 if条件单分支语法示例1&#xff1a;统计根分区使用率示例2&#xff1a;创建目录 双分支if条件语句语法案例1&#xff1a;备份mysql数据库案例2&#xff1a;判断apache是否启动&#xff0c;如果没有…

网络学习:9个计算机的“网络层”知识点

目录 一、IP 地址 1.1 分类表示法&#xff1a; 1.1.1 分类表示地址的其他说明 1.2 无分类编址 CIDR 二、IP 数据报文格式 Q: IP 报文里有什么&#xff1f;可以不按顺序或者字节来讲一讲 三、 路由概念 3.1 路由表 3.2 路由网络匹配 3.3 ARP 解析 3.4 RARP 逆地址解析…

考试题库:华为HCIA-Datacom易错题⑦(含答案解析)

华为认证HCIA-Datacom易错题举例和答案分析。 1、现有一台交换机通过某端口与一个指定端口相连&#xff0c;但是该端口不转发任何报文&#xff0c;却可以通过接收BPDU来监听网络变化&#xff0c;那么该端口的角色应该是&#xff08; &#xff09;。 A、Designated端口 B、Al…

柔性数组(变长数组)介绍

柔性数组简介 柔性数组&#xff0c;或称为可变长度数组&#xff0c;是一种在C语言结构体定义中使用的特殊数组&#xff0c;它允许结构体拥有一个可变大小的数组成员。柔性数组成员必须是结构体的最后一个成员&#xff0c;且它不占用结构体大小的计算&#xff0c;这使得可以动态…

分布式搜索elasticsearch(1)

1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据中快速找到需要的内容 例如&#xff1a; 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案…

25-5 SQL 注入攻击 - insert注入

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、注入原理 描述:insert注入是指通过前端注册的信息被后台通过insert操作插入到数据库中。如果后台没有做相应的处理,就可能导致insert注入漏洞。原因:后台未对用户输入进行充…

c++函数SetConsoleTextAttribute

前言 正文 1.作用&#xff1a; 2.函数格式(重点)&#xff1a; 3.参数(重点)&#xff1a; 前言 实用(真的) 正文 1.作用&#xff1a; 更改cmd的背景色与字体颜色 2.函数格式(重点)&#xff1a; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10进制参数); …

第14届环境与农业工程国际会议(ICEAE 2024)即将召开!

2024年第14届环境与农业工程国际会议&#xff08;ICEAE 2024&#xff09;将于6月7日至9日在泰国曼谷召开。本次会议旨在促进环境与农业工程的研究和开发活动&#xff0c;共同探讨领域内最新以及具有根本性的进展突破。热忱欢迎从事相关领域研究的专家&#xff0c;学者和专业技术…

iStoreOS系统内安装HomeAssistant服务

iStoreOS系统内安装HomeAssistant服务 1. HomeAssistant服务 HomeAssistant是一款基于Python的开源智能家居系统&#xff0c;简称HA。 HomeAssistant可以方便地连接各种外部设备&#xff0c;如智能设备、摄像头、邮件、短消息和云服务等&#xff0c;其成熟的可连接组件有近千…

【Twinmotion】Twinmotion导入UE5

步骤 1. 在虚幻商城中安装“Datasmith Twinmotion导入器插件” 安装“面向虚幻引擎的Twinmotion内容” 2. 打开虚幻引擎&#xff0c;在插件中搜索“twinmotion”&#xff0c;勾选如下两个插件&#xff0c;然后重启虚幻引擎 3. 打开Twinmotion&#xff0c;随便添加一个物体 导出…

【阿里云系列】-ACK的Java应用POD无法访问云数据库Redis

问题介绍 如下图所示&#xff0c;是ACK集群的POD访问阿里云的云数据库Redis&#xff0c;如何实现访问呢 配置步骤 要实现ACK集群内的所有POD都可以访问云数据库Redis&#xff0c;则需要在Redsi的白名单里增加源IP或网段&#xff0c;如下图所示 注意&#xff1a; 以上添加…

PHP 伪协议详解

PHP 伪协议是一种特殊的 URL 格式&#xff0c;用于访问 PHP 内置的各种资源&#xff0c;如文件、变量、函数等。它们以 php:// 开头&#xff0c;后面跟着不同的协议标识符和参数。下面是一些常见的 PHP 伪协议及其用法的详解&#xff1a; php://input&#xff1a;用于访问请求…

网络套接字-UDP服务器

一 预备知识 1 端口号和进程id 主机间的数据传输本质是两个进程在通信&#xff0c;就像是我们打开抖音刷视频&#xff0c;视频不是都保存在手机上的&#xff0c;而是服务器发送给你的&#xff0c;这里就是用到了网络。 那如何保证把数据给指定进程呢? 就是用端口号去标识主机中…

Pytorch学习 day13(完整的模型训练步骤)

步骤一&#xff1a;定义神经网络结构 注意&#xff1a;由于一次batch_size的大小为64&#xff0c;表示一次放入64张图片&#xff0c;且Flatten()只会对单张图片的全部通道做拉直操作&#xff0c;也就是不会将batch_size合并&#xff0c;但是一张图片有3个通道&#xff0c;在Ma…