Educational Codeforces Round 164 (Rated for Div. 2)(A~E)

Educational Codeforces Round 164 (Rated for Div. 2)

A. Painting the Ribbon

思路:实际上就是要求最少可以把多少格子染成相同的颜色,只要 ⌈ n m ⌉ \lceil \frac{n}{m} \rceil mn计算一下就好了。

时间复杂度: O ( 1 ) O(1) O(1)

B. Make It Ugly

思路:题目给定的序列满足如下性质,若 a i − 1 = a i + 1 a_{i-1} = a_{i+1} ai1=ai+1,那么可以把 a i a_i ai也替换为 a i − 1 a_{i-1} ai1,现在要求我们删除若干个数来破坏这个性质。实际上是有两种方案的,我们记 a i − 1 a_{i-1} ai1 a i + 1 a_{i+1} ai+1这种类型的数为A数, a i a_i ai这种类型的数为B数(被替换掉的数)。一种是移除掉序列一侧所有A数,另一种就是移除两个B数之间所有的A数,然后只要取个最小值就好了。注意到给定序列满足这个性质,所以序列的首尾一定是A数。

时间复杂度: O ( n ) O(n) O(n)

C. Long Multiplication

思路:任意交换两个字符串的若干位使得两个字符串的乘积最大。显然有 x + y = C x+y=C x+y=C x + y ≥ 2 x y x+y \ge 2\sqrt{xy} x+y2xy ,当且仅当 x = y x=y x=y时等号成立,所以 x x x y y y越接近,那么两者的乘积也就越大。

时间复杂度: O ( n ) O(n) O(n)

D. Colored Balls

思路:一次操作将两种不同颜色的球放到一个集合里,这类似于摩尔投票法。所以实际上每个子集的贡献就是, s i z e + 1 2 \frac{size+1}{2} 2size+1或者$ \max{a_i}$。因为是要计算全集的贡献,所以我们没有必要按照题目给定的要求去枚举所有的集合。我们先假设所有子集的贡献都是前者,那么我们可以按照集合大小求出对于每一种大小的集合的方案数,同等大小的子集贡献是相同的;然后我们来枚举第二种贡献的情况,实际上也是按照集合大小进行枚举,减掉第一种贡献然后加上第二种贡献。

时间复杂度: O ( n Σ a ) O(n\Sigma{a}) O(nΣa)

E. Chain Reaction

思路:直观上来讲,我们可以计算一下当前对整个序列进行一次操作(在上一次操作的基础上再造成一次伤害)需要耗费的代价是什么,然后每次查询时, O ( L n ( n ) ) O(Ln(n)) O(Ln(n))地求(调和级数)。那么怎么求呢,我们按照血量从 1 开始枚举已经造成的伤害,每次都枚举当前这个血量的怪物的位置,实际上就是这个怪物在下一轮我们操作时会消失,假设当次操作没有任何怪物死亡,那么下次造成伤害时的代价一定与当次操作的代价是相同的,接下来考虑变化。如果当前位置两端的怪物都存活,那么代价加一,因为伤害要分开进行;如果当前位置两段的怪物都死亡,那么代价减一,因为不再需要对当前位置的怪物造成伤害了。

详细解释一下怎么利用提到的“当前对整个序列进行一次操作(在上一次操作的基础上再造成一次伤害)需要耗费的代价是什么”在每次查询中计算贡献:现有序列一定的情况下,我们再对当前序列操作一次所产生的代价不受 k k k值影响,所以就可以每次跳跃到将造成伤害的位置统计计算。

时间复杂度: O ( k L n ( n ) ) O(kLn(n)) O(kLn(n))

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

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

相关文章

【计算机网络】协议定制

一、结构化数据传输流程 这里涉及协议定制、序列化/反序列化的知识 对于序列化和反序列化,有现成的解决方案:①json ②probuff ③xml 二、理解发送接收函数 我们调用的所有发送/接收函数,根本就不是把数据发送到网络中!本质都是…

大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 拦截器实现 Java

点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop&#xff0…

AI行业动态:AGI预测、模型进化与工具革新

本周,人工智能(AI)领域的新闻层出不穷,从关于通用人工智能(AGI)何时到来的预测,到模型训练与推理技术的突破,再到各种实用工具的更新迭代,精彩纷呈。让我们一起深入了解这…

vue3 如何调用第三方npm包内部的 pinia 状态管理库方法

抛砖引玉: 如果在开发vue3项目是, 引用了npm第三方包 ,而且这个包内使用了Pinia 状态管理库,那我们如何去调用 npm内部的 Pinia 状态管理库呢? 实际遇到的问题: 今天在制作npm包时遇到的问题,之前Vue2版本的时候状态管理库用的Vuex ,当时调用npm包内的状态管理库很简单,直接引…

AWTK-WIDGET-WEB-VIEW 实现笔记 (4) - Ubuntu

Ubuntu 上实现 AWTK-WIDGET-WEB-VIEW 开始以为很简单,后来发现是最麻烦的。因为 Ubuntu 上的 webview 库是 基于 GTK 的,而 AWTK 是基于 X11 的,两者的窗口系统不同,所以期间踩了几个大坑。 1. 编译 AWTK 在使用 Linux 的输入法时…

C++之内存管理

​ 🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:C入门 目录 前言 一、C/C内存分配 二、 malloc、calloc、realloc、free 三、C内存管理方式 3.1 new/delete 操作内置类型 3.2 new和detele操作自定义类型…

Visual Studio 2017 快捷键设置-批量注释和批量取消注释

一.批量注释设置: 1)打开Visual Studio 2017,点击菜单栏中的“工具”,然后选中“选项”: 2)选中“键盘”,在“显示命令包含”输入框中输入“注释”: 3)选中“编辑:注释选…

从零入门激光SLAM(二十三)——direct_visual_lidar_calibration全型号激光雷达-相机标定包

大家好呀,我是一个SLAM方向的在读博士,深知SLAM学习过程一路走来的坎坷,也十分感谢各位大佬的优质文章和源码。随着知识的越来越多,越来越细,我准备整理一个自己的激光SLAM学习笔记专栏,从0带大家快速上手激…

蓝桥杯备赛(持续更新)

16届蓝桥杯算法类知识图谱.pdf 1. 格式打印 %03d:如果是两位数,将会在前面添上一位0 %.2f:会保留两位小数 如果是long,必须在数字后面加上L。 2. 进制转化 2.1. 十进制转任意进制: 十进制转任意进制时&#xff…

【STL】set,multiset,map,multimap的介绍以及使用

关联式容器 在C的STL中包含序列式容器和关联式容器 1.关联式容器:它里面存储的是元素本身,其底层是线性序列的数据结构,比如:vector,list,deque,forward_list(C11)等 2.关联式容器里面储存的…

螺旋矩阵II(leetcode 59)

转圈过程&#xff08;边界处理&#xff09;遵循循环不变量的原则&#xff0c;坚持一个原则处理每一条边&#xff0c;左闭右开处理 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> num(n, vector<int>…

MCU的时钟体系

stm32F4的时钟体系图 1MHZ 10^6 HZ 系统时钟频率是168MHZ;AHB1、AHB2、AHB3总线上的时钟频率是168MHz;APB1总线上的时钟频率为42MHz&#xff1b;APB2总线上的时钟频率为84MHz&#xff1b; stm32F4的时钟体系图 在system_stm32f4xx.c文件中查看APB1和APB2的预分频值到底是多少…

走进嵌入式开发世界

目录 一、概述 二、嵌入式开发的核心要素 2.1. 硬件平台选择与设计 2.1.1. 处理器选择 2.1.2. 电路设计 2.1.3.硬件集成与测试 2.2. 软件开发与调试 2.2.1. 编程语言选择 2.2.2. 操作系统与中间件 2.2.3. 软件架构与模块化设计 2.2.4. 调试与测试 三、系统优化与功…

SpringCloud篇(服务网关 - GateWay)

目录 一、简介 二、为什么需要网关 二、gateway快速入门 1. 创建gateway服务&#xff0c;引入依赖 2. 编写启动类 3. 编写基础配置和路由规则 4. 重启测试 5. 网关路由的流程图 6. 总结 三、断言工厂 四、过滤器工厂 1. 路由过滤器的种类 2. 请求头过滤器 3. 默认…

技术理论||02空中三角测量

空中三角测量指的是根据少量控制点坐标,利用空间前后交汇,对六个外方位要素进行解算,从而获得大量未知点坐标及图像外方位要素。空三测量精度是整个摄影测量过程中的关键环节,空三解算的精度直接影响到数字正射图像、实景三维模型等数字化成果的质量。在空三加密的平差解算中,主…

OpenTelemetry 赋能DevOps流程的可观测性革命

作者&#xff1a;天颇 引言 在当今快节奏的软件开发和运维环境中&#xff0c;DevOps 已经成为主流&#xff0c;它通过整合开发和运维流程&#xff0c;推动着软件的快速迭代和持续交付。然而&#xff0c;随着微服务、容器化和云计算等技术的普及&#xff0c;系统复杂性急剧增加…

大数据如何助力干部选拔的公正性

随着社会的发展和进步&#xff0c;干部选拔成为组织管理中至关重要的一环。传统的选拔方式可能存在主观性、不公平性以及效率低下等问题。大数据技术的应用&#xff0c;为干部选拔提供了更加全面、精准、客观的信息支持&#xff0c;显著提升选拔工作的科学性和公正性。以下是大…

风电电力系统低碳调度论文阅读第一期

在碳交易市场中&#xff0c;历史法和基准线法是用于分配碳排放配额的两种主要方法。以下是两种方法的公式及其解释&#xff1a; 区别总结 历史法&#xff1a;基于历史排放量&#xff0c;分配具有较强的公平性但可能缺乏激励减排。基准线法&#xff1a;基于行业基准和生产量&am…

PHP代码审计 --MVC模型开发框架rce示例

MVC模型开发框架 控制器Controller&#xff1a;负责响应用户请求、准备数据&#xff0c;及决定如何展示数据 模块Model&#xff1a;管理业务逻辑和数据库逻辑&#xff0c;提供链接和操作数据库的抽象层 视图View&#xff1a;负责前端模板渲染数据&#xff0c;通过html呈现给用户…

RT-Thread 星火1号学习笔记

LED 闪烁例程 硬件说明 LED 连接在开发板的某个 GPIO 端口上&#xff0c;通过控制该端口的高低电平来实现 LED 的亮灭。 软件说明 初始化 GPIO 端口 /* 配置 LED 灯引脚 */ #define PIN_LED_B GET_PIN(F, 11) // PF11 : LED_B --> LED #defi…