Codeforces Round 921 (Div. 2)

A. We Got Everything Covered!

题意:有任意由前k个字母组成的长度为n的字符串s1,你需要构建一个字符串s2,使s1恒为s2的子串(注意是子串,不是连续子串)

分析:我们可以构造n组字符串,每组都包含前k个字母,把这n组字符串拼接起来就是答案。

这题很重要,等会做C题会参考这题的思路

int a[N];
void solve() {int n, k; cin >> n >> k;while (n--) {for (int i = 0; i < k; i++) {printf("%c", 'a' + i);}}cout << endl;
}signed main() {//IOS;int t; t = 1;cin >> t;while (t--) {solve();}return 0;
}

B. A Balanced Problemset?

题意:把x分为n个数,怎么分,能使最小公倍数最大。

分析:首先联想到gcd的性质

GCD(a1, a2, a3, …, an) = GCD(a1, a1 + a2, a1 + a2 + a3, …, a1 + a2 + a3 + … + an)

这意味着n个数的最小公倍数等于这n个数之和的除数。

最小公倍数必定是x的除数。所以我们用试除法求x的除数k,然后判断该除数k可不可以作为这n个数的最小公倍数。

现在我们面临两个问题,怎么分x?分完怎么判断k能不能做为最小公倍数?

我们可以让前n-1个数都为k,然后剩下的数全分给第n个数,如果an%k==0,说明k可以做为最小公倍数。

int d = x - k * (n - 1);
if (d % k == 0 && d > 0) ans = max(ans, k);

试除法时间复杂度:O(\sqrt{x})

int a[N];
void solve() {int x, n; cin >> x >> n;//把x分成n组int ans = 1;for (int i = 1; i <= x / i; i++) {if (x % i == 0) {//考虑k1和k2能不能成为最小公倍数int k1 = i, k2 = x / i;//若最小公倍数为k1,k2int d1 = x - k1 * (n - 1);int d2 = x - k2 * (n - 1);if (d1 % k1 == 0 && d1 > 0) ans = max(ans, k1);if (d2 % k2 == 0 && d2 > 0) ans = max(ans, k2);}}//tans;cout << ans << endl;
}signed main() {//IOS;int t; t = 1;cin >> t;while (t--) {solve();}return 0;
}

C. Did We Get Everything Covered?

分析:有任意由前k个字母组成的长度为n的字符串集合s1,题目给出了字符串s2,判断s1里所有元素是不是都为s2的子串,如果是输出YES,不是就输出NO并给出反例。

有了刚刚的A题,我们可以知道s2必须满足,“有n组字符串,每组都包含前k个字母”,这个条件时,s1恒为s2子串。那我们就去s2找呗,看能不能满足。

比如说这个,要有3组,每组都必须包含abc这三个字母。

第一组:aabbc

 第二组:cab

第三组:ab,第三组有一个c没包含,我们称第三组是“不满足组”

因此不满足。是NO。反例字符串s3就是cbc(前面每组最后一个字母加上不满足组缺少的字母)。假如此时s3的长度不足n(我们举的反例包含在字符串集合s1里),那就在后面随便加上一些字母凑到长度n就好了。

至于为什么是这样的贪心策略,自己多构造几个样例试一试就有感觉了,真正解释起来好麻烦。

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

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

相关文章

深入Pyecharts:桑基图绘制与炫酷效果实战【第38篇—python:桑基图】

文章目录 深入Pyecharts&#xff1a;桑基图绘制与炫酷效果实战桑基图简介安装 Pyecharts简单桑基图的绘制自定义桑基图的炫酷效果高级样式定制 多组数据桑基图的展示动态桑基图的绘制结合真实数据的桑基图案例导出和分享进阶应用&#xff1a;桑基图与其他图表的组合总结 深入Py…

Ps:渐变编辑器

渐变编辑器 Gradient Editor可用于创建和编辑自定义渐变&#xff0c;它提供了详细的控制选项&#xff0c;能够精确地调整渐变的颜色、样式和效果。 提示&#xff1a; 拖动边框或边角可缩放渐变编辑器窗口。 预设 Presets 提供了大量的渐变预设。还可通过右侧按钮新建 New、导入…

python在线聊天室(带聊天保存)

python Socket在线聊天室(带聊天保存) 需求功能 1.聊天信息保存功能(服务端会把信息保存到一个txt里面) 2.使用pyqt5框架作为一个可视化界面 3.具备一个服务端和多个客户端的功能 4.具备离线加入黑名单(离线踢出) 5.具备在线加入黑名单(在线加入黑名单被踢出) 6.具备群聊功能…

什么是网络?

你是一台电脑&#xff0c;你的名字叫 A 很久很久之前&#xff0c;你不与任何其他电脑相连接&#xff0c;孤苦伶仃。 直到有一天&#xff0c;你希望与另一台电脑 B 建立通信&#xff0c;于是你们各开了一个网口&#xff0c;用一根网线连接了起来。 用一根网线连接起来怎么就能&…

【大数据】Flink 架构(一):系统架构

Flink 架构&#xff08;一&#xff09;&#xff1a;系统架构 1.Flink 组件1.1 JobManager1.2 ResourceManager1.3 TaskManager1.4 Dispatcher 2.应用部署2.1 框架模式2.2 库模式 3.任务执行4.高可用设置4.1 TaskManager 故障4.2 JobManager 故障 Flink 是一个用于状态化并行流处…

第九篇【传奇开心果系列】beeware的toga开发移动应用示例:人口普查手机应用

传奇开心果博文系列 系列博文目录beeware的toga开发移动应用示例系列博文目录一、项目目标二、安装依赖三、实现应用雏形示例代码四、扩展功能和组件的考量五、添加更多输入字段示例代码六、添加验证功能示例代码七、添加数据存储功能示例代码八、添加数据展示功能示例代码九、…

JavaWeb,Vue的学习(上)

概述 Vue的两个核心功能 声明式渲染&#xff1a;Vue 基于标准 HTML 拓展了一套模板语法&#xff0c;使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。响应性&#xff1a;Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM ViteVue3项目…

Image Enhancement Guided Object Detection in Visually Degraded Scenes

Abstract 目标检测准确率在视觉退化场景下降严重。一个普遍的解决方法就是对退化图像进行增强然后再执行目标检测。但是&#xff0c;这是一种次优的方案&#xff0c;而且未必对目标检测的准确率有提升&#xff0c;因为图像增强和目标检测两个任务的不同。为了解决这个问题&…

elasticsearch8.x版本docker部署说明

前提&#xff0c;当前部署没有涉及证书和https访问 1、环境说明,我采用三个节点&#xff0c;每个节点启动两个es&#xff0c;用端口区分 主机角色ip和端口服务器Amaster192.168.2.223:9200服务器Adata192.168.2.223:9201服务器Bdata,master192.168.2.224:9200服务器Bdata192.1…

5_机械臂运动学基础_矩阵

上次说的向量空间是为矩阵服务的。 1、学科回顾 从科技实践中来的数学问题无非分为两类&#xff1a;一类是线性问题&#xff0c;一类是非线性问题。线性问题是研究最久、理论最完善的&#xff1b;而非线性问题则可以在一定基础上转化为线性问题求解。 线性变换&#xff1a; 数域…

【代码随想录-数组】螺旋矩阵 II

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

设计模式:简介及基本原则

简介 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问&#xff0c;设计模式于己于他人于系统都是多赢的&#xff0c;设计模式使代码编制真正工程化&#xff…

Jenkins邮件推送配置

目录 涉及Jenkins插件&#xff1a; 邮箱配置 什么是授权码 在第三方客户端/服务怎么设置 IMAP/SMTP 设置方法 POP3/SMTP 设置方法 获取授权码&#xff1a; Jenkins配置 从Jenkins主面板System configuration>System进入邮箱配置 在Email Extension Plugin 邮箱插件…

docker compose实现mysql一主多从

参考了很多博客&#xff0c;死磕了几天&#xff0c;最终跑起来了&#xff0c;不容易&#xff0c;晚上喝瓶82年可乐庆祝下。 1、整体文件结构&#xff0c;这里忽略log、conf、data映射目录 2、docker-compose.yml文件内容如下&#xff1a; version: 3.3 services:mysql-master…

Linux中断 -- 中断路由、优先级、数据和标识

目录 1.中断路由 2.中断优先级 3.中断平衡 4.Linux内核中重要的数据结构 5.中断标识 承前文&#xff0c;本文从中断路由、优先级、数据结构和标识意义等方面对Linux内核中断进行一步的解析。 1.中断路由 Aset affinity flow GIC文中有提到SPI类型中断的路由控制器寄存器为…

华为HCIP Datacom H12-831 卷14

多选题 1、以下哪些Community属性可以保证BGP路由条目的传播范围只在AS内? A No_Export B No_Export_Subconfed C Interne D No_Advertise 正确答案 A,B 解析&#xff1a;Internet&#xff1a;缺省情况下&#xff0c;所有的路由都属于internet团体。具有此属性的路由…

回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SSA-SVR麻雀算法优化支持向量机的数据…

Kong: Services and Routes 等基本属性

Services 在Kong Gateway中&#xff0c;服务是现有上游应用程序的抽象。服务可以存储插件配置和策略等对象的集合&#xff0c;并且可以与路由相关联。 定义服务时&#xff0c;管理员会提供名称和上游应用程序连接信息。连接详细信息可以在 url 字段中以单个字符串的形式提供…

RCC——使用HSE/HSI配置时钟

RCC 文章目录 前言一、背景二、仿真计算周期 2.1 2.2 三、MCO引脚输出时钟总结 前言 前期疑问&#xff1a;1、RCC是什么意思。 2、最终配好的72M是系统时钟吗&#xff1f; 3、一共有哪些时钟 本文目标&#xff1a;将PLL时钟配置成72M 疑问解答&#xff1a;最终配好的时钟是…

网上零食销售系统

技术架构&#xff1a; Servlet MySQL JSP 功能描述&#xff1a; 1.浏览商品 &#xff08;1&#xff09; 商品详细资料 &#xff08;2&#xff09; 商品编号 2.订购商品 3.购物车 4.用户信息维护 &#xff08;1&#xff09; 用户注册 &#xff08;2&#xff09; 用户…