当前位置: 首页 > news >正文

OJ 栓奶牛【C】【Python】【二分算法】

题目

算法思路

要求的距离在最近木桩与最远木桩相隔距离到零之间,所以是二分法

先取一个中间值,看按照这个中间值可以栓多少奶牛,再与输入奶牛数比较,如果大于等于,则增大距离,注意这里等于也是增大距离,因为要求的是最大距离,如果这个距离还能再大点呢,如果小于说明距离太大,缩小距离

C代码

//二分法
#include<stdio.h>
int main(){int n,k,p1;scanf("%d %d %d",&n,&k,&p1);int muzhuang[k+1];muzhuang[1]=p1;int i;for(i=2;i<=k;i++){muzhuang[i]=muzhuang[i-1]+((muzhuang[i-1]*2357+137)%10)+1;}int left,right,mid;left=0,right=k;int sum,t,ans;while(left<=right){mid=(left+right)/2;sum=1;t=1;for(i=2;i<=k;i++){if(muzhuang[i]-muzhuang[t]>=mid){t=i;sum++;}}//距离太小,如果等于,则要看看还能不能再大一点if(sum>=n){ans=mid;left=mid+1;}//距离太大else{right=mid-1;}}printf("%d",ans);return 0;
}

Python代码

n, k, p1 = map(int, input().split(' '))
lst = [p1]
for i in range(1, k):lst_i = lst[i - 1] + (lst[i - 1] * 2357 + 137) % 10 + 1lst.append(lst_i)  # 注意防止下标越界
left, right, ans = 0, k - 1, 0
while left <= right:mid = (left + right) // 2  # 注意python不会自动取整sum1, t = 1, 0for i in range(k):if lst[i] - lst[t] >= mid:t = isum1 += 1if sum1 >= n:ans = midleft = mid + 1else:right = mid - 1
print(ans)

相关文章:

OJ 栓奶牛【C】【Python】【二分算法】

题目 算法思路 要求的距离在最近木桩与最远木桩相隔距离到零之间&#xff0c;所以是二分法 先取一个中间值&#xff0c;看按照这个中间值可以栓多少奶牛&#xff0c;再与输入奶牛数比较&#xff0c;如果大于等于&#xff0c;则增大距离&#xff0c;注意这里等于也是增大距离…...

Spring6-单元测试:JUnit

1. 概念 在进行单元测试时&#xff0c;特别是针对使用了Spring框架的应用程序&#xff0c;我们通常需要与Spring容器交互以获取被测试对象及其依赖。传统做法是在每个测试方法中手动创建Spring容器并从中获取所需的Bean。以下面的两行常见代码为例&#xff1a; ApplicationCo…...

ubuntu系统安装k8s1.28精简步骤

目录 一、规划二、环境准备2.1 配置apt仓库配置系统基本软件仓库配置k8s软件仓库安装常用软件包 2.2 修改静态ip、ntp时间同步、主机名、hosts文件、主机免密2.3 内核配置2.4 关闭防火墙、selinux、swap2.5 安装软件安装docker安装containerd安装k8s软件包 三、安装配置k8s3.1 …...

探讨Java和Go语言的缺点

文章目录 Java的缺点Go语言的缺点 通常我们都会讨论Java和GO的优点&#xff0c;如果讨论缺点往往能让人们更清楚优点的重要性&#xff0c;Java和Go的缺点或许往往就是对方优点所在 Java的缺点 冗长的代码&#xff1a;相较于一些现代编程语言&#xff0c;Java 的语法相对冗长&am…...

短剧在线搜索PHP网站源码

源码简介 短剧在线搜索PHP网站源码&#xff0c;自带本地数据库500数据&#xff0c;共有6000短剧视频&#xff0c;与短剧猫一样。 搭建环境 PHP 7.3 Mysql 5.6 安装教程 1.上传源码到网站目录中 2.修改【admin.php】中&#xff0c; $username ‘后台登录账号’; $passwor…...

Python map遍历

在Python中&#xff0c;map 函数是一个内置函数&#xff0c;它将指定的函数应用于给定序列&#xff08;如列表、元组等&#xff09;的每个项&#xff0c;并返回一个迭代器&#xff0c;该迭代器包含所有项经过指定函数处理后的结果。 ### map 函数的基本用法 map 函数的语法如…...

数据结构—红黑树

红黑树介绍 红黑树&#xff08;Red Black Tree&#xff09;是一种自平衡二叉查找树。由于其自平衡的特性&#xff0c;保证了最坏情形下在 O(logn) 时间复杂度内完成查找、增加、删除等操作&#xff0c;性能表现稳定。 在 JDK 中&#xff0c;TreeMap、TreeSet 以及 JDK1.8 的 …...

MES实施之工控机和电脑的选择

在MES项目实施过程中,经常会碰到工控机和电脑的选型问题,那么他们的区别是什么? 1、控机和普通个人电脑(PC)相比,具有以下几个区别: 1.运行环境不同:工控机通常需要在各种恶劣的工业环境中运行,如高温、高湿、强电磁干扰等,因此需要具有防尘、防水、抗干扰等特点。而…...

京东云服务器4核8G主机租用价格418元一年,1899元3年

京东云轻量云主机4核8G服务器租用价格418元一年&#xff0c;1899元3年&#xff0c;配置为&#xff1a;轻量云主机4C8G-180G SSD系统盘-5M带宽-500G月流量&#xff0c;京东云主机优惠活动 yunfuwuqiba.com/go/jd 可以查看京东云服务器详细配置和精准报价单&#xff0c;活动打开如…...

【多模态融合】MetaBEV 解决传感器故障 3D检测、BEV分割任务

前言 本文介绍多模态融合中&#xff0c;如何解决传感器故障问题&#xff1b;基于激光雷达和相机&#xff0c;融合为BEV特征&#xff0c;实现3D检测和BEV分割&#xff0c;提高系统容错性和稳定性。 会讲解论文整体思路、模型框架、论文核心点、损失函数、实验与测试效果等。 …...

[通俗易懂]《动手学强化学习》学习笔记1-第1章 初探强化学习

文章目录 前言第1章 初探强化学习1.1 简介序贯决策&#xff08;sequential decision making&#xff09;任务&#xff1a;强化学习与有监督学习或无监督学习的**区别**&#xff1a;改变未来 1.2 什么是强化学习环境交互与有监督学习的区别1&#xff1a;改变环境 &#xff08;说…...

centOS如何升级python

centOS下升级python版本的详细步骤 1、可利用linux自带下载工具wget下载&#xff0c;如下所示&#xff1a; 笔者安装的是最小centos系统&#xff0c;所以使用编译命令前&#xff0c;必须安装wget服务&#xff0c;读者如果安装的是界面centos系统&#xff0c;或者使用过编译工具…...

【MYSQL锁】透彻地理解MYSQL锁

&#x1f525;作者主页&#xff1a;小林同学的学习笔录 &#x1f525;mysql专栏&#xff1a;小林同学的专栏 目录 1.锁 1.1 概述 1.2 全局锁 1.2.1 语法 1.2.1.1 加全局锁 1.2.1.2 数据备份 1.2.1.3 释放锁 1.2.1.4 特点 1.2.1.5 演示 1.3 表级锁 1.3.1 介绍 …...

【静态分析】静态分析笔记01 - Introduction

参考&#xff1a; BV1zE411s77Z [南京大学]-[软件分析]课程学习笔记(一)-introduction_南京大学软件分析笔记-CSDN博客 ------------------------------------------------------------------------------------------------------ 1. program language and static analysis…...

使用的sql

根据CODE去重 SELECT * FROM ( SELECT count( camera_code ) AS count, camera_code FROM n_camera_basic GROUP BY camera_code ) t WHERE t.count >1 DELETE FROM n_camera_basic WHERE camera_id NOT IN (SELECT dt.minno…...

【ZZULIOJ】1052: 数列求和4(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入n和a&#xff0c;求aaaaaa…aa…a(n个a)&#xff0c;如当n3,a2时&#xff0c;222222的结果为246 输入 包含两个整数&#xff0c;n和a,含义如上述&#xff0c;你可以假定n和a都是小于10的非负整…...

【Linux】tcpdump P3 - 过滤和组织返回信息

文章目录 基于TCP标志的过滤器格式化 -X/-A额外的详细选项按协议(udp/tcp)过滤低详细输出 -q时间戳选项 本文继续展示帮助你过滤和组织tcpdump返回信息的功能。 基于TCP标志的过滤器 可以根据各种TCP标志来过滤TCP流量。这里是一个基于tcp-ack标志进行过滤的例子。 # tcpdump…...

vscode免费登录ssh ,linux git配置免密码

1、vscode远程ssh免密 在windows下生成密钥 , cmd窗口下执行 ssh-keygen -t rsa 在C:\Users\xxxx\.ssh目录下生成 在linux下面 cd .ssh 创建authorized_keys 文件&#xff0c; 把之前windows下生成的 id_rsa.pub内容复制进去 2、gitlab 配置。 在linux下面 ssh-keygen -t rs…...

Netty 心跳(heartbeat)——服务源码剖析(上)(四十一)

剖析目的 Netty 作为一个网络框架&#xff0c;提供了诸多功能&#xff0c;比如编码解码等&#xff0c;Netty 还提供了非常重要的一个服务----心跳机制 heartbeat.通过心跳检査对方是否有效,这是 RPC 框架中是必不可少的功能。下面我们分析一下 Netty 内部心跳服务源码实现。 源…...

C语言—每日选择题—Day65

前言 我们的刷题专栏又又又开始了&#xff0c;本专栏总结了作者做题过程中的好题和易错题。每道题都会有相应解析和配图&#xff0c;一方面可以使作者加深理解&#xff0c;一方面可以给大家提供思路&#xff0c;希望大家多多支持哦&#xff5e; 第一题 1、如下代码输出的是什么…...

别再只盯着PageRank了!用Python实战特征向量、Katz和PageRank三大中心性算法

用Python实战三大中心性算法&#xff1a;特征向量、Katz与PageRank的深度对比 当我们需要识别社交网络中最有影响力的用户&#xff0c;或是优化网页排序结果时&#xff0c;图论中的中心性算法往往能提供关键洞见。本文将带您用Python实现三种经典的中心性算法——特征向量中心性…...

STM32移植U8g2库驱动OLED:源码精简与硬件适配实战

1. 项目概述与核心思路之前玩ESP8266的时候&#xff0c;在Arduino环境下用U8g2库驱动OLED&#xff0c;画点线面、显示文字&#xff0c;确实方便。但很多实际项目&#xff0c;尤其是对成本、功耗有要求的&#xff0c;还是绕不开STM32这类更纯粹的MCU。最近有个小项目&#xff0c…...

终极指南:如何用UI-TARS桌面版实现零代码智能桌面自动化

终极指南&#xff1a;如何用UI-TARS桌面版实现零代码智能桌面自动化 【免费下载链接】UI-TARS-desktop The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS-desktop …...

ITK-SNAP:掌握医学图像分割的5个关键步骤

ITK-SNAP&#xff1a;掌握医学图像分割的5个关键步骤 【免费下载链接】itksnap ITK-SNAP medical image segmentation tool 项目地址: https://gitcode.com/gh_mirrors/it/itksnap ITK-SNAP是一款功能强大的开源医学图像分析软件&#xff0c;专门用于3D医学影像的分割、…...

边缘节点就地智能处理方案

边缘节点就地智能处理方案 第1章项目概述 1.1项目背景 随着数字中国建设迈入深度落地与规模化赋能的全新阶段,2026年作为国家数据要素价值释放关键年、算力网络规模化落地之年以及“十五五”规划开局之年,全国各行业数字化、数智化转型正式从信息化补短板阶段迈入提质增效、深…...

手把手教你模拟登录淘宝并爬取订单数据:从Cookie维护到反爬突破的完全指南

目录 一、技术选型:为什么最终选择了Playwright? 1.1 那些年被抛弃的方案 1.2 Playwright的优势 1.3 完整的依赖清单 二、登录流程的完整实现 2.1 两种登录方案的权衡 2.2 扫码登录的完整代码 2.3 Cookie持久化机制详解 三、订单列表爬取的两种思路 3.1 方式一:页…...

Flutter项目构建提速:告别‘gradle assembleDebug’卡顿的实战配置指南

1. 为什么Flutter项目构建会卡在gradle assembleDebug&#xff1f; 每次看到Android Studio卡在"Running Gradle task assembleDebug..."这个界面&#xff0c;我都忍不住想砸键盘。作为一个踩过无数坑的老Flutter开发者&#xff0c;我完全理解这种痛苦。其实这个问题…...

Coding爆发打破「AI泡沫论」,MiniMax能否卡位下一个Google?

【Coding爆发打破「AI泡沫论」】 Coding的爆发&#xff0c;彻底断绝了「AI泡沫论」&#xff0c;这已成为共识。阿里财报显示MaaS ARR超过80亿元&#xff0c;年底还有望再涨三倍以上&#xff0c;意味着只有投入没有回报的周期已过去&#xff0c;能开始盈利&#xff0c;大小玩家都…...

SLAM_TOOLBOX实战:从零到一构建长期可用的2D地图

1. SLAM_TOOLBOX入门&#xff1a;为什么选择它来构建2D地图&#xff1f; 第一次接触SLAM技术时&#xff0c;我被各种开源工具搞得眼花缭乱。直到在真实机器人项目里用了SLAM_TOOLBOX&#xff0c;才发现它简直是长期建图的"瑞士军刀"。这个基于ROS的工具包最打动我的地…...

SSD的‘垃圾回收’秘密:深入理解Trim指令与FTL闪存转换层的协作

SSD的‘垃圾回收’秘密&#xff1a;深入理解Trim指令与FTL闪存转换层的协作 当你在SSD上删除一个文件时&#xff0c;操作系统只是简单地标记这个文件占用的空间为"可重用"&#xff0c;但SSD内部的实际数据擦除过程远比这复杂。这种差异源于NAND闪存的物理特性——它不…...