[LeetCode周赛复盘] 第 95 场周赛20230107

news2024/11/18 7:40:20

[LeetCode周赛复盘] 第 95 场周赛20230107

    • 一、本周周赛总结
    • 二、 [Easy] 2525. 根据规则将箱子分类
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 三、[Medium] 2526. 找到数据流中的连续整数![在这里插入图片描述](https://img-blog.csdnimg.cn/237210adb20e457aaf2671e6e8f9e43b.png)
      • 2. 思路分析
      • 3. 代码实现
    • 四、[Medium]2527. 查询数组 Xor 美丽值
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 五、[Hard] 2528. 最大化城市的最小供电站数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 六、参考链接

一、本周周赛总结

-只会2.5题。

  • T1 模拟。
  • T2 模拟。
  • T3 位运算。
  • T4 二分+差分+前缀和。

二、 [Easy] 2525. 根据规则将箱子分类

链接: 2525. 根据规则将箱子分类

1. 题目描述

在这里插入图片描述

2. 思路分析

按题意分类即可。

  • 但我搞了状压。

3. 代码实现

class Solution:
    def categorizeBox(self, length: int, width: int, height: int, mass: int) -> str:
        ans = 0
        if length>=10**4 or width>=10**4 or height>=10**4 or length*width*height>=10**9:
            ans |= 1
        if mass>= 100:
            ans |= 2
        return ['Neither','Bulky','Heavy','Both'][ans] 

三、[Medium] 2526. 找到数据流中的连续整数在这里插入图片描述

2. 思路分析

用一个cnt记录最后连续的value即可,如果不是value就置0.

3. 代码实现

class DataStream:

    def __init__(self, value: int, k: int):
        self.value = value
        self.k = k
        self.a = 0


    def consec(self, num: int) -> bool:
        if num != self.value:
            self.a = 0
            return False
        self.a += 1
        return self.a >= self.k

四、[Medium]2527. 查询数组 Xor 美丽值

链接: 2527. 查询数组 Xor 美丽值

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 位运算每一位互相不影响,因此可以拆位处理。
  • 对于每一位,不是0就是1,由于最后是异或,我们只需要考虑最后运算里,(a|b)&c有多少个1.
  • 如果有偶数个1,异或起来就是0;奇数个1,异或就是1.
  • 那么c必须是1,a和b至少有1个1(不能都是0)。
  • 在nums中,当前位有y个1,x个0,显然x=n-y
  • 则最终1的个数 :
    •   ones = (n^2^-x^2^)y = (n^2^-(n-y)^2^)y = (2ny-y^2^)y
      
  • 由于我们只需要看y的奇偶性,因此就看y3的奇偶性即可,和y的奇偶性一致。
  • 由于我们拆位了,因此看当前位有几个1即可,异或到一起就是答案。

3. 代码实现

class Solution:
    def xorBeauty(self, nums: List[int]) -> int:
        return reduce(xor,nums)

五、[Hard] 2528. 最大化城市的最小供电站数目

链接: 2528. 最大化城市的最小供电站数目

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 这题我尝试了用IUPQ的树状数组,但是TLE了,23/30,复杂度nlognlogU。这个复杂度cpp是能过得,py被卡了。
  • 只好用nlogU的做法。

  • 先用前缀和计算实际上每个城市有几个站覆盖。
  • 我们的目的是把k个电站建到当前电力比较弱的地方,加强这些弱的城市,使最后答案尽量大。
  • 那么显然答案越大,越难实现;答案越小,随便建几个就实现了。
  • 于是我们二分答案limit,(其中limit指加完电站后,这个城市至少覆盖了limit个电站)。
  • check的过程是贪心,考虑如果station[i]<limit就在附近建电站,那么建到右侧最远的地方即可,这样这个站能贡献更多的位置。
  • 那么用差分就可以做到遍历的同时计算每个位置的覆盖值。

3. 代码实现


class Solution:
    def maxPower(self, stations: List[int], z: int, k: int) -> int:
        n = len(stations)
        p = [0] + list(accumulate(stations))
        for i in range(n):
            stations[i] = p[min(i+z,n-1)+1]-p[max(i-z,0)]
        mn = min(stations[1:],default=0)
        mx = max(stations)+k


        def ok(x):
            diff = [0]*n  # 差分数组
            s = 0
            p = k
            for i,v in enumerate(stations):
                s += diff[i]  # 累计s
                delta = x - v - s  # 差多少
                if delta > 0:
                    p -= delta
                    if p < 0:
                        return True
                    s += delta  # 累计s
                    r = i + z*2                   
                    if r+1<n:
                        diff[r+1] -= delta  # 差分数组更新,由于左边再不会用到了(累计到了s),因此只更新右边就行                    
            return False
            
        return bisect_left(range(mx+1),True,lo=mn,key=ok)-1       

六、参考链接

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

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

相关文章

Linux系统中C++多态和数据封装的基本方法

大家好&#xff0c;今天主要和大家分享一下&#xff0c;多态&#xff0c;数据封装的使用方法。 目录 第一&#xff1a;C中的多态 第二&#xff1a;C中数据封装方法 第一&#xff1a;C中的多态 C多态意味着调用成员函数时&#xff0c;会根据调用函数的对象的类型来执行不同的函…

将内核加载到内存

文章目录前言前置知识代码实验操作前言 本博客记录《操作系统真象还原》第五章第3个实验的操作~ 实验环境&#xff1a;ubuntu18.04VMware &#xff0c; Bochs下载安装 实验内容&#xff1a;将内核载入内存,初始化内核代码 实验原理 编写内核程序。将内核程序用dd命令复制到…

Odoo 16 企业版手册 - 库存管理之存储类别

存储类别 Odoo中的存储类别功能将允许您将许多存储位置分组到一个类别下。您可以在Odoo 库存管理模块中创建许多此类类别&#xff0c;这将有助于执行更智能的放置操作。在配置存储类别之前&#xff0c;您必须配置库存中可用的存储位置。然后&#xff0c;您可以将它们分组到一个…

LeetCode刷题模版:31 - 40

目录 简介31. 下一个排列32. 最长有效括号33. 搜索旋转排序数组34. 在排序数组中查找元素的第一个和最后一个位置35. 搜索插入位置36. 有效的数独37. 解数独38. 外观数列39. 组合总和40. 组合总和 II结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指…

电影解说开头怎么写吸引人?

电影解说开头怎么写吸引人&#xff1f;很多电影解说创作者文采不够好&#xff0c;开头不知道怎么写&#xff1f;毕竟想留住用户继续观看视频&#xff0c;开头是至关重要的&#xff0c;今天笔者就分享电影解说文案万能公式模板&#xff0c;让大家创作更简单&#xff01;一个好的…

feature engnineering 特征工程

特征工程数值型变量standardizationlog_transformation(使其符合正态分布)polynomial features分类型变量orinigalencoderonehot encoder分类创造下的数值以下代码根据Abhishek Thakur在kaggle上的机器学习30天 &#xff08;b站&#xff09; (kaggle)可惜的是&#xff0c;我没有…

Oracle 19c VLDB and Partitioning Guide 第5章:管理和维护基于时间的信息 读书笔记

本文为Oracle 19c VLDB and Partitioning Guide第5章Managing and Maintaining Time-Based Information的读书笔记。 Oracle 数据库提供了基于时间管理和维护数据的策略。 本章讨论 Oracle 数据库中的组件&#xff0c;这些组件可以构建基于时间管理和维护数据的策略。 尽管大…

计算机网络复习之网络层

文章目录数据报与虚电路服务的对比IP 协议IP数据报格式IP地址NAT&#xff08;网络地址转换&#xff09;子网划分和子网掩码在支持子网划分的因特网中&#xff0c;路由器如何转发IP数据报无分类编制CIDR构成超网RIP协议OSPF协议ARP协议ICMP协议Ping和Traceroute参考路由选择是网…

Eclipse安装教程

Eclipse安装教程 目录一&#xff0e; 概述二&#xff0e; 下载eclipse三&#xff0e; 安装eclipse四&#xff0e; 使用eclipse。一&#xff0e; 概述 eclipse是针对java编程的集成开发环境&#xff0c;其设计思想是“一切皆插件”。就其本身而言&#xff0c;eclipse只是一个框架…

Hive表的创建,删除,修改

TBLPROPERTIES的主要作用是按键-值对的格式为表增加额外的文档说明。Hive会自动增加两个表属性:一个是last_modified_by&#xff0c;其保存着最后修改这个表的用户的用户名﹔另一个是 last_modified_time&#xff0c;其保存着最后一次修改的新纪元时间秒。用户还可以拷贝一张已…

数据的合并和分组聚合

一&#xff1a;字符串离散化的案列 对于这一组电影数据&#xff0c;如果我们希望统计电影分类(genre)的情况&#xff0c;应该如何处理数据&#xff1f; 思路&#xff1a;重新构造一个全为0的数组&#xff0c;列名为分类&#xff0c;如果某一条数据中分类出现过&#xff0c;就让…

Java之class类

Class类 1.类图 2.Class类对象 系统创建 该class对象是通过类加载器ClassLoader的loadClass()方法生成对应类对应的class对象 通过debug可以追到该方法 3.对于某个类的class类对象 只加载一次 因为类值加载一次 类加载的时机 //1.创建对象实例的时候&#xff08;new&#xf…

7-10 列车调度

火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口&#xff08;Entrance&#xff09;轨道和一条出口&#xff08;Exit&#xff09;轨道&#xff0c;它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入&#xff0c;最后从出口离开。在图中有9趟列车&am…

联合证券|道指狂拉700点!八大科技巨头市值暴涨1.3万亿!

本周最终一个交易日&#xff0c;美股三大指数收盘团体大涨。道指涨2.13%&#xff0c;标普500指数涨2.28%&#xff0c;纳斯达克指数涨2.56%。 大型科技股遍及走强&#xff0c;苹果、亚马逊涨超3%。特斯拉经历惊险一夜&#xff0c;股价盘初跌近8%后反弹&#xff0c;收盘涨幅超2%。…

上半年要写的博客,提前占坑1

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

第二章 创建数据集

2.1 数据集的概念 数据集通常是由数据构成的一个矩形数组&#xff0c;行表示观测&#xff0c;列表示变量。表2-1提供了一个假想的病例数据集。 不同的行业对于数据集的行和列叫法不同。统计学家称它们为观&#xff08;observation&#xff09;和变量&#xff08;variable&…

可变形卷积DCN/DConv

1、定义 可变形卷积是指卷积核在每一个元素上额外增加了一个方向参数&#xff0c;这样卷积核就能在训练过程中扩展到很大的范围&#xff0c;卷积核可以变成任意方向。 图(a)是普通卷积 图(b)、©、(d)是可变形卷积&#xff0c;©(d)是(b)的特例 2、为什么要使用可变…

Nginx配置负载均衡到网关

Nginx配置负载均衡到网关 1.需求图示 前置准备工作 https://blog.csdn.net/qq_44981526/article/details/128599898 2.配置实现 1.在C:\Windows\System32\drivers\etc目录下修改hosts文件 #配置llpliving.com nginx虚拟机 192.168.56.100 www.llpliving.com2.配置nginx负载…

【C++】优先级队列priority_queue仿函数

这里先简单介绍一下优先级队列priority_queue&#xff1a;优先队列是一种容器适配器,默认的情况下&#xff0c;如果没有为特定的priority_queue类实例化指容器类&#xff0c;则使用vector (deque 也是可以的),需要支持随机访问迭代器&#xff0c;以便始终在内部保持堆结构 文章…

Springboot配置静态资源

目录 1. springboot默认的静态资源存放路径 2.Springboot添加静态资源映射addResourceHandlers addResourceLocations 3.坑 如果方法一和二同时配置 那么就会遵循方法二 方法一的静态文件将找不到 1. springboot默认的静态资源存放路径 静态资源的存放路径为classpath,也就是…