Codeforces Round 943 (Div. 3)

A


O ( x ) O(x) O(x) 枚举即可,我也是这么做的,但是可以利用以下的性质来 O ( 1 ) O(1) O(1) 解决问题。

首先,gcd(a, b) = gcd(a-b,b), 其中 a ≥ b a\geq b ab

其次,gcd(x,x-1)=1, 其中 x ≥ 1 x\geq 1 x1

利用这两个性质, gcd(a,b)+b=gcd(a-b,b)+b $\leq $ a-b+b ≤ \leq a

我们直接令 b=a-1 既就可以取得答案的上界了。


B


您的任务是确定最大可能的数字 k ,使得长度为 k 的字符串 a 的前缀是字符串 b 的子序列。

我写了个二分,因为 k 显然具有单调性,check 的逻辑就是从前往后能取就取。

std : 定义 d p i dp_i dpi 为 a 的最长前缀,且其作为子序列包含在 b 1 , ⋯ , b i b_1,\cdots,b_i b1,,bi 之中

状态转移 : b i b_i bi 是否能更新最长前缀

if b i = a d p i + 1 b_i=a_{dp_i+1} bi=adpi+1 , 则 d p i = d p i − 1 + 1 dp_i=dp_{i-1}+1 dpi=dpi1+1

else d p i = d p i − 1 dp_i=dp_{i-1} dpi=dpi1

答案 : d p m dp_m dpm

int n, m;
string a, b;void solve(){cin >> n >> m >> a >> b;a = ' ' + a, b = ' ' + b;vector<int> dp(m + 10);dp[1] = (b[1] == a[1]);for(int i = 2; i <= m; i ++){if(dp[i - 1] + 1 <= n && b[i] == a[dp[i - 1] + 1]) dp[i] = dp[i - 1] + 1;else dp[i] = dp[i - 1];}cout << dp[m] << '\n';
}

C


( a + b ) (a+b) (a+b) % a = b a=b a=b , 其中 0 ≤ b < a 0\leq b< a 0b<a

根据这个性质进行构造


D


每位选手回位于一个循环内,任何一个位置停下都可能是最优选择。

O ( n ) O(n) O(n) 预处理循环 + O ( n ) O(n) O(n) 枚举哪个位置停下能取得最大得分


E


  • Hint 1

对于 n × n n\times n n×n 的矩形来说,曼哈顿距离取值为 [ 0 , 2 ∗ n − 2 ] [0,2*n-2] [0,2n2]

  • Hint2

我们发现早在主对角元上放 n − 2 n-2 n2 个元素, ( n − 1 , n ) (n-1,n) (n1,n) ( n , n ) (n,n) (n,n) 上放元素即可满足条件。

主对角元与 ( n − 1 , n ) (n-1,n) (n1,n) 产生所有奇数距离,与 ( n , n ) (n,n) (n,n) 产生所有偶数距离

(确实想不到啊,构造题就是这样,没办法的,该打个表试试或者直接放弃的)


G1

能做出来的,脑子抽了,又反向哈希了一遍,本来判定相等就可以了,写成判定相等且回文了,改了一下就过了,有点可惜。

题目要求把字符串分成 k 段,问 k 个子串的最长 LCP。

显然长度满足单调性,我们二分一下这个长度 x ,check 的时候看看有几个不重叠的 s.substr(1, x) , 只要超过 k 个就能找到一种分割方式。

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

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

相关文章

Golang 设计模式(行为型)

文章目录 策略模式迭代器模式访问者模式观察者模式命令模式模板方法模式责任链模式状态模式 策略模式 策略模式是一种行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;并将每个算法封装成独立的对象&#xff0c;使得它们可以互相替换。在 Go 语言中&#xff0c;策略…

QT:输入类控件的使用

LineEdit 录入个人信息 #include "widget.h" #include "ui_widget.h" #include <QDebug> #include <QString>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);// 初始化输入框ui->lineEdit…

Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js

网卡模式选择桥接 mirrors.163.com 阿里镜像源 https://mirrors.aliyun.com/debian/ DeBian 安装软件选择时勾选上 SSH server apt update apt install sudo #安装 sudo usermod -aG sudo username #添加普通账号到 sudo 让 root 可以 SSH 配置文件 /etc/ssh/sshd_config 找…

stm32f103zet6_串口实现-DHT11-tim1(定时)

1思路 1打开时钟 1.1使用定时器实现us级的计时 1.2在打开串口 1,3在DHT11驱动中修改引脚 stm32cudeMX 配置 1打开时钟 2打开串口 3打开tim1(定时器) 4生成代码 代码设置 1导入DHT11库(tim.h是定时器的文件系统自动生成的) DHT11.c #include "dht11.h" #inc…

真香!剪映专业版VIP,解锁限制功能!

01 软件介绍 剪映专业版采用更直观更全能易用的创作面板&#xff0c;让专业剪辑变得更简单高效&#xff0c;为更多人提供畅爽的专业剪辑体验&#xff0c;让更多人享受视频创作的乐趣! 剪映专业版引入强大黑罐头素材库&#xff0c;支持搜索海量音频、表情包、贴纸、花字、特效…

TCP协议在物联网中的实战

一、TCP协议介绍 网上对TCP协议介绍众多&#xff0c;本人按照自己的理解简单介绍一下。 TCP&#xff08;Transmission Control Protocol&#xff0c; 传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输控制层通信协议。 1.1 协议机制 1.1.1 三次握手 &…

使用LwIP实现TCP Client通信(基于STM32F407)

目录 概述 1 功能介绍 1.1 代码框架 2.2 搭建系统 2 TCP Client功能实现 2.1 代码实现 2.2 具体代码 3 功能测试 3.1 测试功能描述 3.2 运行代码 测试代码下载地址&#xff1a; stm32-f407-dm9161-LwIP-tcp-client资源-CSDN文库 概述 本文主要介绍使用STM32F407和…

【多变量控制系统 Multivariable Control System】(1)DSM:术语、基本公式和MATLAB仿真【新加坡南洋理工大学】

说明&#xff1a; 题目版权归校方所有&#xff0c;仅供学习和参考使用。 DSM Control DSM Direct Synthesis Method Process Model Closed-Loop Transfer Function 基本公式 &#xff08;1&#xff09;输入、输出关系 &#xff08;2&#xff09;控制器表示 MatLab仿真…

【navicat】oracle library is not loaded 问题复现和解决方案

问题原因&#xff1a;客户端oci版本安装错误&#xff0c;navicat需要64位的oci,但是使用32位的oci。 解决方案&#xff1a;官网下载64位oci进行配置。本次演示的解决多了splplus&#xff0c;其实不必要安装也能运行。 首先判断是否数据库已经打开 尝试使用splplus连接数据库 1…

JavaScript中的Math对象方法、Date对象方法

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f31f;Math对象方法&#x1f344;1 Math静态属性&#x1f344;2 Math…

【c++】继承学习(一):继承机制与基类派生类转换

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们来学习继承部分 目录 1.继承的概念和定义继承的定义继承基类成员的访问方式变化 2.基类和派生类对象赋值转换3.继承中的作用域 1.继承的概念和定义 …

Costas-Barker序列模糊函数仿真

文章目录 前言一、Costas 序列二、Barker 码三、Costas-Barker 序列模糊函数仿真1、MATLAB 核心代码2、仿真结果①、Costas-Barker 模糊函数图②、Costas-Barker 距离模糊函数图③、Costas-Barker 速度模糊函数图 四、资源自取 前言 Costas 码是一种用于载波同步的频率调制序列…

基于Ollama+AnythingLLM轻松打造本地大模型知识库

随着人工智能技术的快速发展&#xff0c;大型语言模型&#xff08;LLM&#xff09;已成为自然语言处理领域的重要工具。然而&#xff0c;这些模型的运行通常需要大量的计算资源和复杂的部署流程。为了解决这个问题&#xff0c;Ollama应运而生&#xff0c;成为了一个高效的本地大…

学浪的缓存怎么导出来

学浪的缓存导出问题困扰着许多用户&#xff0c;备份和管理数据变得至关重要。在数字化时代&#xff0c;保护和利用数据是企业和个人不可或缺的需求。在这篇文章中&#xff0c;我们将深入探讨学浪缓存导出的方法&#xff0c;为您解决疑惑&#xff0c;让您轻松掌握数据的安全与便…

实际生产环境JVM性能优化案例分析

目录 1. 性能测试工具-Apache JMeter 1.1 JMeter的基本使用流程 2.性能优化案例 2.1 CPU占用很高排查方案 2.1.1 模拟CPU占用高的代码实现 2.1.2 通过top命令查看,可以发现PID为2100的进

237基于matlab的偏振态仿真

基于matlab的偏振态仿真&#xff0c;不同偏振态下光强计算。本仿真软件可以仿真波片对偏振光的相位调制过程。用户可以通过改变波片的类型&#xff0c;波片长轴与 X 轴的夹角&#xff0c;起偏器透光与 X 轴的夹角&#xff0c;检偏器透光轴与 X 轴的夹角等参数&#xff0c;来观察…

手写bind,apply,call

手写bind bind的传参第一个是this的新指向&#xff0c;后面传的是参数列表。bind使用后会返回一个函数&#xff0c;并且返回后的函数的this无法再改变。 用法&#xff1a;方法名.bind(this的新指向,参数1,参数2,参数3…) Function.prototype.newBind function(){const _thi…

毫米波雷达原理(含代码)(含ARS548 4D毫米波雷达数据demo和可视化视频)

毫米波雷达原理 1. 传统毫米波雷达1.1 雷达工作原理1.2 单目标距离估计1.3 单目标速度估计1.4 单目标角度估计1.5 多目标距离估计1.6 多目标速度估计1.7多目标角度估计1.7 总结 3. FMCW雷达数据处理算法4. 毫米波雷达的目标解析(含python代码)5. ARS548 4D毫米波雷达数据demo(含…

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …

GPU虚拟化和算力隔离探讨

1. 术语介绍 术语 全称 说明 GPU Graphics Processing Unit 显卡 CUDA Compute Unified Device Architecture 英伟达2006年推出的计算API VT/VT-x/VT-d Intel Virtualization Technology -x表示x86 CPU&#xff0c;-d表示Device SVM AMD Secure Virtual Machine …