2024蓝桥杯每日一题(二分)

一、第一题:教室

解题思路:二分+差分
        对天数进行二分,在ck函数中用差分方法优化多次区间累加。

【Python程序代码】

n,m = map(int,input().split())
a = [0] + list(map(int,input().split()))
d,s,t = [0]*(m+5),[0]*(m+5),[0]*(m+5)
for i in range(1,m+1):
    d[i],s[i],t[i] = map(int,input().split())
l,r = 1,m+1
def ck(mid):
    tep = [0]*(n+5)
    for i in range(1,mid+1):
        tep[s[i]] += d[i]
        tep[t[i]+1] -= d[i]
    for i in range(1,n+1):
        tep[i] += tep[i-1]
        if tep[i]>a[i]:return False
    return True
while l<r:
    mid = (l+r+1)//2
    if ck(mid):l = mid
    else:r = mid-1
    
if r>m:print(0)
else:
    print(-1)
    print(r)

 二、第二题:分巧克力

解题思路:二分
        对边长二分,所以每块大巧克力最多可以分成(h[i]/mid)*(w[i]/mid)。

【Python程序代码】

n,k = map(int,input().split())
h,w = [],[]
for i in range(n):
    a,b = map(int,input().split())
    h.append(a); w.append(b)
l,r = 1,100000
def ck(mid):
    res = 0
    for i in range(n):
        res += (h[i]//mid)*(w[i]//mid)
    if res>=k:return True
    return False
while l<r:
    mid = (l+r+1)//2
    if ck(mid):l = mid
    else:r = mid-1
print(r)

三、第三题: 管道

 解题思路:二分+区间合并
        对时间进行二分,然后在ck函数中使用区间合并进行优化。下面程序貌似没AC.

【Python程序代码】

n,L = map(int,input().split())
sl = [[0,0]for i in range(n)]
tp = [[0,0]for i in range(n)]
for i in range(n):
    sl[i][0],sl[i][1] = map(int,input().split())
def cmp(x):
    return (x[0],x[1])
sl.sort(key=cmp)
l,r = 1,1000000000
def ck(mid):
    mi,ma = 2,L-1
    for i in range(n):
        if mid>=sl[i][1]:
            tp[i][0] = sl[i][0] - (mid-sl[i][1])
            tp[i][1] = sl[i][0] + (mid-sl[i][1])
            if tp[i][0]<mi:mi=tp[i][0]
            if tp[i][1]>ma:ma=tp[i][1]
        else:
            tp[i][0]=tp[i][1]=0
    if mi>1 or ma<L:return False
    tp.sort(key=cmp)
    ll = 0
    for i in range(n):
        if tp[i][0]==tp[i][1]==0:continue
        else:
            if tp[i][0]>ll+1:return False
            ll = max(ll,tp[i][1])
    if ll>=L:
        return True
    return False

while l<r:
    mid = (l+r)//2
    if ck(mid):r=mid
    else:l=mid+1
print(r)

四、第四题: 技能升级

 解题思路:二分
        对攻击力大小进行二分,题的本质考的是多路归并,采用二分进行优化。

【Python程序代码】

n,m = map(int,input().split())
a,b = [],[]
for i in range(n):
    a_,b_ = map(int,input().split())
    a.append(a_); b.append(b_)
l,r = 0,10000000

def ck(mid):
    res = 0
    for i in range(n):
        if a[i]<mid:continue
        res += (a[i]-mid)//b[i] + 1
        if res>=m:return True
    return False
while l<r:
    mid = (l+r+1)>>1
    if ck(mid):l = mid
    else:r = mid-1
cnt,res=m,0
for i in range(n):
    if a[i]<r:continue
    t = (a[i]-r)//b[i] +1
    cnt -= t
    res += (2*a[i]-(t-1)*b[i])*t//2
print(res+cnt*r)

五、第五题: 冶炼金属

 解题思路:二分
        对V值进行二分,分别找左右边界。

【Python程序代码】

n = int(input())
a,b = [0]*(n+5),[0]*(n+5)
for i in range(n):
    a[i],b[i] = map(int,input().split())
def pd1(x):
    for i in range(n):
        t = a[i]//x
        if t>b[i]:
            return False
        if t<b[i]:
            return True
    return True
def pd2(x):
    for i in range(n):
        t = a[i]//x
        if t>b[i]:
            return True
        if t<b[i]:
            return False
    return True
def solve():
    l,r = 1,1000000000
    while l<r:
        mid = (l+r)//2
        if pd1(mid):r=mid
        else:l=mid+1
    res1 = r
    l, r = 1, 1000000000
    while l < r:
        mid = (l + r + 1) // 2
        if pd2(mid):
            l = mid
        else:
            r = mid - 1
    res2 = r
    print(res1,res2)
solve()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Trust Region Policy Optimization (TRPO)

Trust Region Policy Optimization (TRPO) 是一种强化学习算法&#xff0c;专门设计来改善策略梯度方法在稳定性和效率方面的表现。由 John Schulman 等人在 2015 年提出&#xff0c;TRPO 的核心思想是在策略优化过程中引入一个信任区域&#xff08;trust region&#xff09;&a…

unity

Unity官方下载_Unity最新版_从Unity Hub下载安装 | Unity中国官网 Unity Remote - Unity 手册 登陆账号&#xff0c;找到一个3d 免费资源 3D Animations & Models | Unity Asset Store unity 里面window->package Manager 里面可以看到自己的asset &#xff0c;下载后…

【数据结构】顺序表的定义及实现方式

文章目录 顺序表的定义顺序表的实现静态分配动态分配动态申请内存空间&#xff0c;动态释放内存空间&#xff08;malloc&#xff0c;free&#xff09; 顺序表的特点总结 顺序表的定义 顺序表也就是用顺序存储的方式实现线性表。 顺序存储。把逻辑上相邻的元素存储在物理位置上…

kubernetes之概念入门篇

K8S的内容是要比docker多很多的。 kubernetes中文官网&#xff1a; Kubernetes(K8S)中文文档_Kubernetes中文社区 1、认识kubernetes 1.1、什么是kubernetes&#xff1f; kubernetes是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;kubernetes…

漏洞发现-漏扫项目篇NucleiYakitGobyAfrogXrayAwvs联动中转被动

知识点 1、综合类-Burp&Xray&Awvs&Goby 2、特征类-Afrog&Yakit&Nuclei 3、联动类-主动扫描&被动扫描&中转扫描 章节点&#xff1a; 漏洞发现-Web&框架组件&中间件&APP&小程序&系统 扫描项目-综合漏扫&特征漏扫&被动…

探索TikTok云手机在社交媒体营销的作用

近年来&#xff0c;TikTok作为全球短视频平台之一&#xff0c;其用户基数呈现持续增长的趋势。伴随社交媒体的蓬勃发展&#xff0c;企业和个人纷纷涌入TikTok平台&#xff0c;追求更广泛的曝光和用户互动。为满足这一需求&#xff0c;TikTok云手机应运而生。本文将深度剖析TikT…

力扣面试经典150 —— 16-20题

力扣面试经典150题在 VScode 中安装 LeetCode 插件即可使用 VScode 刷题&#xff0c;安装 Debug LeetCode 插件可以免费 debug本文使用 python 语言解题&#xff0c;文中 “数组” 通常指 python 列表&#xff1b;文中 “指针” 通常指 python 列表索引 文章目录 16. [困难] 接…

nginx有几种启动方式

Nginx 通常可以以两种主要的方式启动&#xff1a;作为前台进程运行或作为守护进程&#xff08;后台&#xff09;运行。 前台运行&#xff1a; 当Nginx以前台模式运行时&#xff0c;它会在命令行保持活动状态&#xff0c;所有的日志输出都会直接显示在命令行上。这种模式通常用于…

execl/python读取数据库( Access、MySQL)

目录 一 、读取access数据库 &#xff08;一&#xff09;execl读取数据库 1.搜索ODBC&#xff08;注意自己的execl是64位还是32位&#xff09; 2.安装数据源的驱动程序 3.打开execl 4. 补充&#xff1a;选择数据源时&#xff0c;也可以直接在execl中选择数据源 &#xff…

丘一丘正则表达式

正则表达式(regular expression,regex,RE) 正则表达式是一种用来简洁表达一组字符串的表达式正则表达式是一种通用的字符串表达框架正则表达式是一种针对字符串表达“简洁”和“特征”思想的工具正则表达式可以用来判断某字符串的特征归属 正则表达式常用操作符 操作符说明实…

linux 模拟shell

&#x1f493;博主CSDN主页:麻辣韭菜-CSDN博客&#x1f493;   ⏩专栏分类&#xff1a;http://t.csdnimg.cn/G90eI⏪   &#x1f69a;代码仓库:Linux: Linux日常代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d;&#x1f5…

前端JavaScript篇之常见事件

目录 JavaScript常见事件click&#xff08;点击&#xff09;mouseover&#xff08;鼠标悬停&#xff09;keydown&#xff08;按键按下&#xff09;load&#xff08;加载&#xff09;submit&#xff08;提交&#xff09; JavaScript常见事件 JavaScript中的事件是指用户与网页元…

剑指offer C ++双栈实现队列

1. 基础 队列&#xff1a;先进先出&#xff0c;即插入数据在队尾进行&#xff0c;删除数据在队头进行&#xff1b; 栈&#xff1a;后进先出&#xff0c;即插入与删除数据均在栈顶进行。 2. 思路 两个栈实现一个队列的思想&#xff1a;用pushStack栈作为push数据的栈&#xff…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑碳捕集机组与氢储能系统协调运行的源荷储低碳经济调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

ansible-playbook的角色(role)

1前言 角色目录如下&#xff08;分别为httpd角色和nginx角色&#xff09; handlers/ &#xff1a;至少应该包含一个名为 main.yml 的文件&#xff1b; 其它的文件需要在此文件中通过include 进行包含 vars/ &#xff1a;定义变量&#xff0c;至少应该包含一个名为 main.yml 的…

React Hooks 那些事儿

翻了波之前写的文章还有笔记&#xff0c;发现关于前端的文章并不多&#xff08;好歹也划水做过点前端开发&#xff09;。巧了&#xff0c;最近没什么好话题可写&#xff0c;做下 React Hooks 学习笔记吧。 Effect Hook 不得不说 Hook 的出现降低了我们在 React 中处理副作用&…

极简云商业版 开源源码

简化版的云商业源码已经以开源形式发布了&#xff0c;现在可以解绑卡密和查询卡密。总体而言&#xff0c;这个版本已经相当完善了。在对接示例网盘中有一个用户注册的例子&#xff0c;需要配置一个邮箱。您可以在网页上启用QQ邮箱的标准版SMTP&#xff0c;并生成一个授权码。 …

【Spring】学习Spring框架那点小事儿

Spring作者&#xff1a;Rod Johnson Rod Johnson 是一位软件开发人员和作家&#xff0c;他在软件开发领域有着广泛的影响力。他出生于澳大利亚&#xff0c;拥有计算机科学和音乐双学位&#xff08;能写出有优雅的代码一定有艺术细胞&#xff09;。 Rod Johnson 在 2002 年出版…

保研复习数据结构记(7)--散列查找(哈希表)

哈希表有什么特点&#xff1f;数据元素的关键字与其存储地址直接相关&#xff08;通过哈希函数相关&#xff09;&#xff0c;典型的用空间换时间的算法处理冲突的方法&#xff1f;拉链法&#xff08;链地址法&#xff09;&#xff0c;开放定址法&#xff0c;再散列法什么是查找…

2024年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题是由安全生产模拟考试一点通提供&#xff0c;G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新版教材&#xff0c;G3锅炉水处理大纲整理而成&#xff0…