当前位置: 首页 > news >正文

【CF】Day30——Codeforces Round 824 (Div. 2) C + Codeforces Round 825 (Div. 2) BC1

C. Phase Shift

题目:

思路:

好题,值得多看

 这题我们看题目就能想到一个很显然的做法,那就是贪心地把每一个字母换成最前面的没使用过的字母

但是这样直接写是有问题的,因为题目说了最后要让所有的字母成一个换,比如如果是ba,如果我们换成ab,那么就会有一个a->b->a的环了,这显然不符合题意

所以对于每一个还未替换的字符,我们从a~z中选一个最先的最符合的字符,他要满足以下条件:

①.这个字符还没选过

②.这个字符不与现在这个字符相同

③.选完之后不能构成环,如果构成了,那只能是构成长度为26的环

确定好后按照题意模拟即可

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"bool check(char a, char b,const map<char, char>& mp2)
{vector<int> vis(26, 0);map<char, char> mp = mp2;mp[a] = b;int hasc = 0;int ccnt = 0;while (mp[a]){if (vis[a - 'a']){hasc = true;break;}vis[a - 'a'] = 1;ccnt++;a = mp[a];}if (hasc && ccnt < 26){return false;}return true;
}void solve()
{int n;cin >> n;string s;cin >> s;map<char, char> mp;vector<bool> used(26, 0);for (int i = 0; i < n; i++){if (mp[s[i]]){continue;}else{for (int j = 0; j < 26; j++){int t = 'a' + j;if (used[j] || s[i] == t){continue;}if (check(s[i], t, mp)){used[j] = true;mp[s[i]] = t;break;}}}}for (int i = 0; i < n; i++){cout << mp[s[i]];}cout << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}


B. Playing with GCD

题目:

思路:

想难了,不过挺不错的

 一个显然的构造方法是 b[i] 取a[i] 和 a[i-1] 的lcm,因为我们要保证 gcd 恰好等于 a[i],所以最大只能取这个,同时 b[i] 与两个 a 都有关系,所以也只能这样取,否则如果是k*lcm,那么就会多个系数,这样最后可能就不会等于 a[i] 了

最后我们再检查一下 b[i] 是不是真的都符合即可

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"int gcd(int a, int b)
{return !b ? a : gcd(b, a % b);
}int lcm(int a,int b)
{return a * b / gcd(a, b);
}void solve()
{int n;cin >> n;vector<int> a(n+2,1),b(n+2,1);for (int i = 1; i <= n+1; i++){if(i <= n)cin >> a[i];b[i] = lcm(a[i], a[i - 1]);}for (int i = 1; i <= n; i++){if (gcd(b[i],b[i+1]) != a[i]) {no;return;}}yes;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

C1. Good Subarrays (Easy Version)

题目:

思路:

双指针题

这道题由于求的是一个区间l~r,那么我们就可以来观察一下这个区间有没有什么特性

一个显然的特性是,如果l~r符合,那么l+1~r肯定也符合

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"void solve()
{int n;cin >> n;vector<int> a(n);for (int i = 0; i < n; i++){cin >> a[i];}int l = 0, r = 0,res = 0;while (l < n){while (r < n && a[r] >= r-l+1){r++;}res += r - l;l++;}cout << res << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

相关文章:

【CF】Day30——Codeforces Round 824 (Div. 2) C + Codeforces Round 825 (Div. 2) BC1

C. Phase Shift 题目&#xff1a; 思路&#xff1a; 好题&#xff0c;值得多看 这题我们看题目就能想到一个很显然的做法&#xff0c;那就是贪心地把每一个字母换成最前面的没使用过的字母 但是这样直接写是有问题的&#xff0c;因为题目说了最后要让所有的字母成一个换&…...

STM32 模块化开发指南 · 第 2 篇 如何编写高复用的外设驱动模块(以 UART 为例)

本文是《STM32 模块化开发实战指南》的第 2 篇,聚焦于“串口驱动模块的设计与封装”。我们将从一个最基础的裸机 UART 初始化开始,逐步实现:中断支持、环形缓冲收发、模块接口抽象与测试策略,构建一个可移植、可扩展、可复用的 UART 驱动模块。 一、模块化 UART 的设计目标…...

SSRF打靶总结

文章目录 一. PortSwigger1、本地服务器的基本SSRF2、基本的目标不是漏洞机3、Referer标头的外带SSRF4、简单黑名单的SSRF黑名单绕过思路&#xff1a; 5、重定向的SSRF6. 简单的白名单SSRF白名单绕过思路&#xff1a; 二、BWAPP1. SSRF 文件包含漏洞 | 内网探测2. XXE -> S…...

第五章:5.1 ESP32物联网应用 - MQTT协议深度教程

一、MQTT协议简介 1.1 发布/订阅模式 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级物联网通信协议&#xff0c;采用发布/订阅模式&#xff1a; 发布者&#xff08;Publisher&#xff09;&#xff1a;发送消息到指定主题&#xff08;如&…...

c++知识点

高级模板技术45&#xff1a; 模板元编程&#xff1a;这是一种在编译期进行计算和代码生成的技术。通过模板的递归展开、特化等操作&#xff0c;可以实现一些复杂的功能&#xff0c;例如编译期的计算、类型安全的容器等。例如&#xff0c;使用模板元编程可以实现一个编译期计算斐…...

【ChCore Lab 01】Bomb Lab 拆炸弹实验(ARM汇编逆向工程)

文章目录 1. 前言2. 实验代码版本问题3. 关于使用问题4. 宏观分析5. read_line 函数介绍6. phase_0 函数6.1. read_int 函数6.2. 回到 phase_0 函数继续分析6.3. 验证结果 7. phase_1 函数7.2. 验证结果 8. phase_2 函数8.1. read_8_numbers 函数8.2. 回到 phase_2 函数继续分析…...

QStackedWidget讲解

简介 QStackedWidget 类在一次仅显示1个窗口的地方提供一个窗口栈。 头文件:#include qmake:QT widgets 基类:QFrame 属性 count : const int currentIndex : int 公有槽函数 void setCurrentIndex(int index) void setCurrentWidget(QWidget *widget)信号 void current…...

宝马集团加速 ERP 转型和上云之旅

宝马集团&#xff08;BMW Group&#xff09;作为全球领先的豪华汽车和摩托车制造商&#xff0c;致力于构建更加智能、绿色、人性化的出行体验。为了支持其全球化、数字化业务战略&#xff0c;宝马集团正在进行大规模的 IT 体系升级和 ERP 云转型。该项目以“RISE with SAP S/4H…...

AutoEval:现实世界中通才机器人操作策略的自主评估

25年3月来自 UC Berkeley 和 Nvidia 的论文“AutoEval: Autonomous Evaluation of Generalist Robot Manipulation Policies in the Real World”。 可规模化且可复现的策略评估一直是机器人学习领域长期存在的挑战。评估对于评估进展和构建更优策略至关重要&#xff0c;但在现…...

ARM Cortex M内存屏障指令__dsb( )和__isb( )

ARM Cortex-M 系列处理器中的 __dsb() 和 __isb() 是内存屏障指令&#xff0c;用于确保内存操作的顺序性和可见性&#xff0c;尤其在涉及外设、多核/多线程、自修改代码或关键系统配置时至关重要。 一&#xff0c;详细说明和典型应用场景 1. __dsb()&#xff08;Data Synchron…...

deepseek热度已过?

DeepSeek的热度并没有消退&#xff0c;以下是具体表现&#xff1a; 用户使用量和下载量方面 • 日活跃用户量增长&#xff1a;DeepSeek已经成为目前最快突破3000万日活跃用户量的应用程序。 • 应用商店下载量&#xff1a;1月26日&#xff0c;DeepSeek最新推出的AI聊天机器人…...

使用 Datadog 和 Slack Alerts 监控 minikube

为什么要监控 minikube 集群&#xff1f;这是一个不错的练习&#xff0c;可以让你了解 DataDog 的设置过程并探索 K8s 指标产品。 本文将分享我的以下经验&#xff1a; 设置最新的 minikube部署示例应用程序创建 DataDog&#xff08;试用&#xff09;帐户使用 Helm 安装 Data…...

深入 Redis 持久化:从原理到企业级应用的全景图

&#x1f9e0; 什么是 Redis 持久化&#xff1f;为什么需要&#xff1f; Redis 是内存型数据库&#xff0c;默认所有数据都存在内存中&#xff0c;一旦断电&#xff0c;数据就会消失。为了避免重要数据丢失&#xff0c;Redis 提供了持久化机制&#xff0c;用于将内存中的数据保…...

NET模式下如何配置虚拟机的IP地址为静态的

1.查看网关&#xff1a; 2.找到虚拟机的网络配置文件 cd ./etc/sysconfig/network-scripts/ vim ifcfg-ens33 3.修改配置 BROWSER_ONLY"no" IPADDR192.168.122.120 NETMASK255.255.255.0 GATEWAY192.168.122.2 DNS18.8.8.8 4.重启网路服务 sudo systemctl rest…...

VMWare Workstation Pro17.6最新版虚拟机详细安装教程(附安装包教程)

目录 前言 一、VMWare虚拟机下载 二、VMWare虚拟机安装 三、运行虚拟机 前言 VMware 是全球领先的虚拟化技术与云计算解决方案提供商&#xff0c;通过软件模拟计算机硬件环境&#xff0c;允许用户在一台物理设备上运行多个独立的虚拟操作系统或应用。其核心技术可提升硬件…...

磐石云智能语音客服系统——技术革新引领服务新体验

在人工智能技术飞速发展的今天&#xff0c;企业对于智能化客户服务的需求日益增长。磐石云智能语音客服系统凭借其前沿技术架构与深度场景适配能力&#xff0c;正在重新定义人机交互的边界。本文将深入解析该系统如何通过技术创新实现服务效率与体验的双重突破。 一、意图识别…...

什么是iPaaS?

在当今数字化时代&#xff0c;企业面临着日益复杂的IT环境和不断增长的业务需求。随着云计算、微服务、物联网等技术的快速发展&#xff0c;企业需要更加高效、灵活且安全的方式来进行数据集成和应用集成。集成平台即服务&#xff08;iPaaS&#xff09;应运而生&#xff0c;成为…...

Vue3 中 Pinia 持久化的全面解析和最佳实践

Vue3 中 Pinia 持久化的全面解析 一、Pinia 简介​ Pinia 是 Vue 的新一代状态管理库&#xff0c;它提供了简洁的 API&#xff0c;支持 Composition API&#xff0c;并且拥有良好的代码拆分和热更新能力。相比于 Vuex&#xff0c;Pinia 的代码结构更加扁平&#xff0c;易于理…...

蓝桥杯最后一天警告!!!

1.万能头文件 #include <bits/stdc.h> 2.一道题实在一点都不会&#xff0c;直接碰运气骗分 #include <bits/stdc.h> using namespace std;int main() {srand(time(0));printf("%d",rand()%101);//生成一个1到10之间的随机整数&#xff0c;并输出print…...

el-time-picker标签的使用

需求&#xff1a; 实现培训日期&#xff0c;用户可以选择某一天的日期&#xff0c;这个比较简单 <el-form-item label"培训日期" prop"startTime"><el-date-picker clearablev-model"form.startTime"type"date"placeholder…...

Mysql--基础知识点--85.1--Innodb自适应哈希索引

1. 自适应哈希索引的用途 InnoDB 的自适应哈希索引&#xff08;Adaptive Hash Index, AHI&#xff09;是 MySQL 数据库引擎中一项智能优化查询性能的功能。其核心作用如下&#xff1a; 加速等值查询 哈希索引通过哈希函数将键映射到固定位置&#xff0c;实现 O(1) 时间复杂度的…...

Matlab 考虑电机激励力的整车垂向七自由度的被动悬架和LQR控制

1、内容简介 Matlab 200-考虑电机激励力的整车垂向七自由度的被动悬架和LQR控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

统一功能处理

SpringBoot统一功能处理 本节目表 1.掌握拦截器的使用&#xff0c;及其原理 2.学习统一数据返回格式和统一异常处理的操作 3.了解一些Spirng的源码 文章目录 SpringBoot统一功能处理前言一、拦截器是什么&#xff1f;二、使用步骤1.定义拦截器2.注册配置拦截器 三&#xff0c;适…...

LibreOffice Writer使用01去除单词拼写判断的红色下划线

这个软件还是非常有特色的&#xff0c;因为大家需要office的全部功能&#xff0c;常常忽略了这个软件的使用体验。 csdn不是特别稳定&#xff0c;linux也没有什么比较好的md编辑器&#xff0c;所以我选择这个软件来记录我的临时博客&#xff0c;原因无他&#xff0c;它可以保存…...

JAVA基础 - 高效管理线程隔离数据结构ThreadLocalMap

欢迎光临小站&#xff1a;致橡树 ThreadLocalMap 是 ThreadLocal 的核心底层数据结构&#xff0c;负责在每个线程中存储与 ThreadLocal 实例绑定的数据。它的设计目标是高效管理线程隔离数据&#xff0c;同时尽量减少内存泄漏风险。以下是其核心实现细节。 数据结构与设计目标…...

每日一题(小白)暴力娱乐篇25

由题意直知&#xff0c;要求将给定的字符串转为符合格式的字符串。首先我们来思考一下例如02/02/02这样的数字日月肯定不用进行修改&#xff0c;修改后需要加上对应的年份的前两位&#xff0c;题目要求1960年1月1日~2059年12年12月31日&#xff0c;&#xff08;对1960年至2059年…...

地表水-地下水耦合建模全景解析暨SWAT-MODFLOW地表与地下协同模拟及多情景专题应用

第一、模型原理与层次结构 1.1流域水循环与SWAT模型 1.2 地下水模拟与MODFLOW模型 1.3 SWAT-MODFLOW地表-地下耦合模型 1.4 QSWATMOD 插件与功能介绍 1.5 模型实现所需软件平台 第二、QGIS软件 2.1 QGIS平台 2.2 QGIS安装 2.3 QGIS界面认识 2.4 QGIS常见数据格式 2.…...

在线论坛系统

在线论坛 项目介绍项目使用技术介绍前端技术栈后端技术栈 项目运行步骤说明后端运行步骤前端运行步骤 项目使用说明用户端功能管理员端功能 部分功能说明运行截图用户端管理员端 系统源码 项目介绍 这是一个基于现代技术栈开发的在线论坛系统&#xff0c;提供用户交流、内容分享…...

webrtc pacer模块(一) 平滑处理的实现

Pacer起到平滑码率的作用&#xff0c;使发送到网络上的码率稳定。如下的这张创建Pacer的流程图&#xff0c;其中PacerSender就是Pacer&#xff0c;其中PacerSender就是Pacer。这篇文章介绍它的核心子类PacingController及Periodic模式下平滑处理的基本流程。平滑处理流程中还有…...

新能源车「大三电」与「小三电」

一、‌大三电系统‌ ‌动力电池‌ 作为整车的能量核心&#xff0c;目前主流类型包括三元锂电池&#xff08;NCM/NCA&#xff09;和磷酸铁锂电池&#xff08;LFP&#xff09;&#xff0c;前者能量密度高&#xff0c;后者安全性和成本优势显著‌。动力电池通过模组串联形成电池包…...

xlinx GT传输器学习

xlinx有2路refclk会输入到gtbank。此2路bank输入时钟是差分输入&#xff0c;经过IBUFDS_GTE2源语转换为单端。如下图。 从fpga外输入高速差分时钟。 差分时钟转换为单端。 单端时钟输入到gt_common模块 下图为gt内部结构图...

C++笔记之父类引用是否可以访问到子类特有的属性?

C++笔记之父类引用是否可以访问到子类特有的属性? code review! 参考笔记 1.C++笔记之在基类和派生类之间进行类型转换的所有方法 文章目录 C++笔记之父类引用是否可以访问到子类特有的属性?1.主要原因2.示例代码3.说明4.如何访问子类特有的属性5.注意事项6.总结在 C++ 中,…...

基于SSM框架的房屋租赁小程序开发与实现

概述 一个基于SSM框架开发的微信小程序房屋租赁管理系统&#xff0c;该项目实现了用户管理、中介管理、房源信息管理等核心功能。 主要内容 一、管理员模块功能实现 ​​用户管理​​ 管理员可对通过微信小程序注册的用户信息进行修改和删除操作&#xff0c;确保用户数据的准…...

大模型评估论文粗读“AGIEval: A Human-Centric Benchmark for Evaluating Foundation Models“

Zhong W, Cui R, Guo Y, et al. Agieval: A human-centric benchmark for evaluating foundation models[J]. arXiv preprint arXiv:2304.06364, 2023. 摘要翻译 评估大模型在处理人类层级的任务时的通用能力&#xff0c;是AGI发展和应用中至关重要的一环。传统的衡量标准通常依…...

程序化广告行业(76/89):行业融资全景剖析与代码应用拓展

程序化广告行业&#xff08;76/89&#xff09;&#xff1a;行业融资全景剖析与代码应用拓展 大家好&#xff01;在之前的文章里&#xff0c;咱们一起了解了程序化广告行业的发展趋势以及PC端和移动端投放的差异。今天&#xff0c;咱们接着深入学习&#xff0c;这次聚焦在程序化…...

网工基础 | 常见英文术语注解

原创&#xff1a;厦门微思网络 以下是一些网工专业常见的英文术语注解&#xff1a; IP Address&#xff08;Internet Protocol Address&#xff09; 互联网协议地址&#xff0c;是分配给连接到互联网的设备的唯一标识符&#xff0c;用于在网络中定位和通信。例如&#xff0c;“…...

【FPGA开发技巧】Modelsim仿真中,显示状态机的名称,而非编码数字

示例 被仿真的文件名为&#xff1a;cmd_handle.v&#xff0c;其中有r_st_current和r_st_next两个状态机变量。 该模块在tb文件中&#xff0c;被例化的名称为cmd_handle_u0 按照如下格式写&#xff1a;cmd_handle_u0.r_st_current 示例tb文件&#xff1a; timescale 1ns / 1…...

二分答案----

二分答案 - 题目详情 - HydroOJ 问题描述 给定一个由n个数构成的序列a&#xff0c;你可以进行k次操作&#xff0c;每次操作可以选择一个数字&#xff0c;将其1&#xff0c;问k次操作以后&#xff0c;希望序列里面的最小值最大。问这个值是多少。 输入格式 第一行输入两个正…...

Nginx 命令大全:Linux 与 Windows 系统的全面解析

Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;广泛应用于 Web 服务、负载均衡和反向代理等场景。本文将从 Linux 和 Windows 系统的角度出发&#xff0c;详细解析 Nginx 的常用命令&#xff0c;并区分两种系统之间的差异&#xff0c;帮助你高效地管理和维护 Nginx 服…...

我的计算机网络(总览篇)

总览--网络协议的角度 在一个庞大的网络中&#xff0c;该从哪里去了解呢&#xff1f;我先细细的讲一下我们访问一个网站的全部流程&#xff0c;当我们的电脑连上网络的时候&#xff0c;就会启动DHCP协议&#xff0c;来进行IP地址&#xff0c;MAC地址&#xff0c;DNS地址的分配…...

开源CMS的模块化设计和API接口如何具体影响其扩展性?

优秀的CMS系统都有自己主打的特点&#xff0c;开源CMS凭借其灵活性和低成本优势占据了市场主流地位&#xff0c;而模块化设计与API接口正是其扩展性的两大基石。本文将深入探讨这两大技术特性是如何影响cms的扩展性的。 一、模块化设计&#xff1a;功能解耦与生态繁荣的引擎 …...

【网络原理】网络通信基础

目录 一. 网络发展史 &#xff08;1&#xff09;局域网 &#xff08;2&#xff09;广域网 二. 网络基础知识 &#xff08;1&#xff09;IP地址 &#xff08;2&#xff09;端口号 &#xff08;3&#xff09;协议 &#xff08;4&#xff09;五元组 一. 网络发展史 网络的发…...

Win11系统 VMware虚拟机 安装教程

Win11系统 VMware虚拟机 安装教程 一、介绍 Windows 11是由微软公司&#xff08;Microsoft&#xff09;开发的操作系统&#xff0c;应用于计算机和平板电脑等设备 。于2021年6月24日发布 &#xff0c;2021年10月5日发行 。 Windows 11提供了许多创新功能&#xff0c;增加了新…...

新手宝塔部署thinkphp一步到位

目录 一、下载对应配置 二、加载数据库 三、添加FTP​ 四、上传项目到宝塔​ 五、添加站点​ 六、配置伪静态 七、其他配置 开启监控 八、常见错误 一、打开宝塔页面&#xff0c;下载对应配置。 二、加载数据库 从本地导入数据库文件 三、添加FTP 四、上传项目到宝塔…...

MCU如何查看系统有没有卡死

前言&#xff1a;在我们调试单片机的时候&#xff0c;经常会遇到系统非预期运行的状况。造成系统卡死的原因有很多&#xff0c;主要有&#xff1a;野指针&#xff0c;数组越界&#xff0c;死锁&#xff0c;还有一些while写入的一些逻辑错误。本文就如何排查这些问题&#xff0c…...

有哪些反爬机制可能会影响Python爬取视频?如何应对这些机制?

文章目录 前言常见反爬机制及影响1. IP 封禁2. 验证码3. 请求头验证4. 动态加载5. 加密与混淆6. 行为分析 应对方法1. 应对 IP 封禁2. 应对验证码3. 应对请求头验证4. 应对动态加载5. 应对加密与混淆6. 应对行为分析 前言 在使用 Python 爬取视频时&#xff0c;会遇到多种反爬…...

【辰辉创聚生物】提供上万种单抗/多抗及其偶联物

辰辉创聚生物致力于提供高质量的一抗&#xff08;Primary Antibodies&#xff09;、二抗&#xff08;Secondary Antibodies&#xff09;和对照抗体&#xff08;Control Antibodies&#xff09;&#xff0c;支持分子生物学、免疫学及生物医学科学领域的前沿研究。我们拥有超过40…...

Google Chrome Canary版官方下载及安装教程【适用于开发者与进阶用户】

谷歌浏览器&#xff08;Google Chrome&#xff09;以其高性能、强扩展性和良好的用户体验深受全球用户喜爱。在其多个版本中&#xff0c;Chrome Canary因具备最前沿的功能测试环境&#xff0c;成为开发者和技术探索者的首选。如果你希望第一时间体验Google Chrome最新功能&…...

BERT - BERT 模型综述

1. BERT的两个任务 &#xff08;1&#xff09;Pre-Training 预训练 Masked LM (MLM) - 让模型预测被隐藏&#xff08;Mask&#xff09;掉的token。 例如&#xff1a;输入“我喜欢吃[MASK]”&#xff0c;Label是“我喜欢吃苹果”&#xff0c; 模型需要预测出“苹果”。这种…...

Vue 大文件分片上传组件实现解析

Vue 大文件分片上传组件实现解析 一、功能概述 1.1本组件基于 Vue Element UI 实现&#xff0c;主要功能特点&#xff1a; 大文件分片上传&#xff1a;支持 2MB 分片切割上传实时进度显示&#xff1a;可视化展示每个文件上传进度智能格式校验&#xff1a;支持文件类型、大小…...