[牛客复盘] 牛客周赛 Round 9 20230827

[牛客复盘] 牛客周赛 Round 9 20230827

    • 总结
    • 小美的外卖订单编号
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 小美的加法
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 小美的01串翻转
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 小美的数组操作
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 六、参考链接

总结

  • 又是笨比的一周,只做出1题。
  • T1 数学
  • T2 前后缀分解
  • T3 dp
  • T4 贪心平均数
  • 在这里插入图片描述

小美的外卖订单编号

链接: 小美的外卖订单编号

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 由于数据是1开始的,先减1,取模后再+1

3. 代码实现

def solve():
    m, x = RI()
    x = (x - 1) % m
    print(x + 1)

小美的加法

链接: 小美的加法

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 一个傻的做法是前后缀分解。
  • 其实扫一遍,枚举两个数,s减去即可。

3. 代码实现

#       ms
def solve():
    n, = RI()
    a = RILST()
    s = sum(a)
    ans = 0
    for i in range(n - 1):
        ans = max(ans, s - a[i] - a[i + 1] + a[i] * a[i + 1])
    print(ans)


#       ms
def solve1():
    n, = RI()
    a = RILST()
    p = [0] + list(accumulate(a))
    s = list(accumulate(a[::-1]))[::-1] + [0]
    ans = p[-1]
    for i in range(n - 1):
        ans = max(ans, p[i] + a[i] * a[i + 1] + s[i + 2])
    print(ans)

小美的01串翻转

链接: 小美的01串翻转

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 看数据可以n方。
  • 那么枚举每个子段,dp即可。

3. 代码实现

#       ms
def solve():
    s, = RS()
    n = len(s)

    ans = 0
    for l in range(n):
        x = y = 0
        if s[l] == '1':
            x = 1
        else:
            y = 1
        for r in range(l + 1, n):
            if s[r] == '1':
                x, y = y + 1, x
            else:
                x, y = y, x + 1
            ans += min(x, y)
    print(ans)


#       ms
def solve1():
    s, = RS()
    n = len(s)
    f = [[0, 0] for _ in range(n)]
    ans = 0
    for l in range(n):
        f[l] = [0, 0]
        f[l][int(s[l]) ^ 1] = 1
        for r in range(l + 1, n):
            if s[r] == '1':
                f[r] = [f[r - 1][1] + 1, f[r - 1][0]]
            else:
                f[r] = [f[r - 1][1], f[r - 1][0] + 1]
            ans += min(f[r])
    print(ans)

小美的数组操作

链接: 小美的数组操作

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 容易想到,要使众数最多,那么数量不是n就是n-1。
  • 当sum能整除n时,一定可以使所有数变成同一个数,就是平均数,直接计算即可。
  • 否则,可以尝试把其中n-1个变成一样的,另一个数承载垃圾操作。那么这个数一定是最大的数或者最小的数。
    • 那目标数字应该是这n-1个数的平均数,步数才是最小的。注意这个数可能不是整数,s/t,s/t+1都试试。

3. 代码实现

def f(a, t):
    x = y = 0
    for v in a:
        if v > t:
            x += v - t
        else:
            y += t - v

    return max(x, y)


#       ms
def solve():
    n, = RI()
    a = RILST()
    s = sum(a)
    if s % n == 0:
        t = s // n
        ans = 0
        for v in a:
            ans += max(0, v - t)
        print(ans)
    else:
        a.sort()
        t = (s - a[-1]) // (n - 1)
        ans = min(f(a[:-1], t), f(a[:-1], t + 1))
        t = (s - a[0]) // (n - 1)
        ans = min(ans, f(a[1:], t), f(a[1:], t + 1))
        print(ans)

六、参考链接

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

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

相关文章

Batbot电力云平台在智能配电室中的应用

智能配电室管理系统是物联网应用中的底层应用场景,无论是新基建下的智能升级,还是双碳目标下的能源管理,都离不开智能配电运维对传统配电室的智慧改造。Batbot智慧电力(运维)云平台通过对配电室关键电力设备部署传感器…

【Redis】Redis是什么、能干什么、主要功能和工作原理的详细讲解

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&…

Spring Authorization Server入门 (十六) Spring Cloud Gateway对接认证服务

前言 之前虽然单独讲过Security Client和Resource Server的对接,但是都是基于Spring webmvc的,Gateway这种非阻塞式的网关是基于webflux的,对于集成Security相关内容略有不同,且涉及到代理其它微服务,所以会稍微比较麻…

Shiro认证框架

目录 概述 认证授权及鉴权 Shiro框架的核心组件 基本流程 spring bootshiromybatisPlus...实现用户登录 step1:准备工作 (1)坐标 (2)连接数据库 (3)JavaBean (4)dao数据访问层 (5)密码工具类 DigestsUtil (6)配置类 step2:认证功能 step3:授权鉴权 概述…

Arcgis colorRmap

arcgis中colorRmap对应的名称: 信息来源:https://developers.arcgis.com/documentation/common-data-types/raster-function-objects.htm 在arcpy中使用方法: import arcpy cr arcpy.mp.ColorRamp("Yellow to Red")python中 ma…

基于安卓的考研助手系统app 微信小程序

,设计并开发实用、方便的应用程序具有重要的意义和良好的市场前景。HBuilder技术作为当前最流行的操作平台,自然也存在着大量的应用服务需求。 本课题研究的是基于HBuilder技术平台的安卓的考研助手APP,开发这款安卓的考研助手APP主要是为了…

下一代存储解决方案:湖仓一体

文章首发地址 湖仓一体是将数据湖和数据仓库相结合的一种数据架构,它可以同时满足大数据存储和传统数据仓库的需求。具体来说,湖仓一体可以实现以下几个方面的功能: 数据集成: 湖仓一体可以集成多个数据源,包括结构…

TCP学习笔记

最近面试,问TCP被问住了,感觉背八股背了印象不深刻,还是总结一些比较好。 如果有写错的,欢迎批评指正。 参考:https://www.xiaolincoding.com/network/3_tcp/tcp_interview.html#tcp-%E5%9F%BA%E6%9C%AC%E8%AE%A4%E8…

qt在线包下载安装出错 无法检索远程树

我的问题好像是在安装Qt5.15.2出现的。 我的情况是由于网络问题问题,设置开启了本机的代理之后,就可以正常下载了。

Java小游戏

一、需求 二、思路一 HP当然是怪物的一个属性成员,而武器是角色的一个属性成员,类型可以使字符串,用于描述目前角色所装备的武器。角色类有一个攻击方法,以被攻击怪物为参数,当实施一次攻击时,攻击方法被调…

C++设计模式之适配器模式

一、适配器模式 适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成另一个类所期望的接口,以便两个类能够协同工作。 适配器模式可以解决现有类接口与所需接口不匹配的问题,使得原本因接口不…

BlazorServer中C#与JavaScript的相互调用

BlazorServer中C#与JavaScript的相互调用 前言: ​ 虽然BlazorServer中推荐使用C#在razor页面中的替代JavaScript来完成逻辑的编写,但当需要使用第三方的javascript文件/组件里的内容时,则难免要在C#中调用其方法或对象。反之当你的(用到第…

湖北咸宁农业三维扫描数字化农业3d打印制造应用-CASAIM中科广电

农业是人类衣食之源、生存之本,是一切生产的首要条件,CASAIM在农业三维扫描和3d打印应用上有丰富经验。 1.三维扫描技术在农业领域的应用 CASAIM三维扫描是集光学、机电和计算机技术于一体的高新无损检测技术,能够对实物的空间外形、结构乃…

Redis数据结构全解析【万字详解】

文章目录 前言一、SDS1、SDS的必要性2、SDS的数据结构3、SDS的优势O(1)复杂度获取字符串长度二进制安全不会发生缓冲区溢出节省空间 二、链表1、结构设计2、优缺点 三、压缩列表1、结构设计2、连续更新3、压缩列表的缺陷 四、哈希表1、结构设计2、哈希冲…

ubuntu安装goland

下载并解压goland sudo tar -C /opt/ -xzvf goland-2023.1.3.tar.gz配置应用图标 新建文件: vim /usr/share/applications/goland.desktop文件中写入如下内容: [Desktop Entry] TypeApplication NameGoLand Icon/opt/GoLand/bin/goland.png Exec/op…

科技赋能,教育革新——大步迈向体育强国梦

在 "全民健身"、"体育强国建设"战略的推进下,体育考试成绩被纳入重要升学考试且分值不断提高,体育科目的地位逐步上升到前所未有的高度,在此趋势下,体育教学正演变出更多元化、个性化的需求。然而现实中却面临…

centos7安装MySQL8

Centos7安装MySQL8 MySQL版本:8.0.34 1.安装前准备 (1)查看是否安装mariadb [rootkb135 ~]# rpm -qa|grep mariadb (2)卸载mariadb并检查是否卸干净 [rootkb135 ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x8…

【C语言】2023.8.27C语言入学考试复盘总结

前言 本篇文章记录的是对于2023年8月27日的 C语言 的入学考试的整理总结 成绩:220/240 题目:9/12 错题整理 首先先对于我没做出来的三道题做一个整理 错题1:7-4 分段函数PLUS 题干 以下是一个二元分段函数,请你根据所给的函…

SketchBook软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 SketchBook是一款由Autodesk公司开发的绘画和绘图软件,它适用于各种操作系统和平台,如Windows、macOS、iOS和Android等。 SketchBook是一款专业的绘图软件,旨在满足各种绘画和绘图需求。它提…

TensorBoard的使用

TensorBoard:对图像进行变换 1. SummaryWriter的使用 ctrl类出现注释解析: 将条目直接log_dir写入要成为由TensorBoard使用。 “摘要编写器”类提供了一个高级 API 来创建事件文件,并在给定目录中添加摘要和事件。该类更新文件内容异步。…