8.23CF训练题解

A题Painting the Ribbon题解
其实这是一个经典的数学思维题 ,飘带有N段,每段可以着色,有M种颜色可以选择,另一个人有K次修改颜色的机会,问有没有方式使得飘带在K次修改后都无法变为单一颜色 ?

其实最简单的方法就是1–M颜色以此涂色,这样子各种颜色出现的又多又均衡 ,那么另一个人只能选择最多的一种颜色作为最终颜色,其他颜色全部修改。经过计算可以知道最多的那种颜色会有
N/M向上取整个,所以需要N- 向上取整(N/M)次机会才能变为单一颜色

#include<bits/stdc++.h>
using namespace std;
int main() {int a;cin>>a;for(int i=1;i<=a;i++){int n,m,k;int d=1;int s=0;cin>>n>>m>>k;d=n-(n/m);if(n%m!=0){d--;}if(d<=k){cout<<"NO";}else{cout<<"YES";}cout<<endl;}return 0;
}

B - Special Characters
简单题,按题目意思构造即可

#include<bits/stdc++.h>
using namespace std;
int main() {int a;cin>>a;for(int i=1;i<=a;i++){int b;cin>>b;int c=0;if(b%2==1){cout<<"NO"<<endl;}else{cout<<"YES"<<endl;while(c!=b/2){if(c%2==1){cout<<"BB";}else{cout<<"AA";}c++;}cout<<endl;}}return 0;
}

C题题解
注意一开始给我们的就是美丽的数组,说明它能够最终变为一样的
我们根据题目的规则来思考,能变成最终一样的,一定能得到首元素跟末尾元素是相同的结论
因此我们的删除方式可以有以下方法:
1 删除开头一段连续的A[1]长度
2 删除末尾一段连续的A[1]长度
3 寻找两个不等于A1的值,删除他们中间的所有数字
以上三种方式都可以让数组变得不美丽 求最短即可

#include<bits/stdc++.h>
using namespace std;
int A[300010];
int main() {int a;cin>>a;for(int i=1;i<=a;i++){int b;cin>>b;int len=0;int x=1e9;for(int j=1;j<=b;j++){cin>>A[j];if(A[j]==A[1]){len++;}else{x=min(x,len);len=0;}}x=min(x,len);if(x==b){cout<<"-1"<<endl;}else{cout<<x<<endl;}}return 0;
}

D题题解
每个数字其实要么拆,要么不拆
我们考虑倒着处理,先把A[n]存进去,不拆,因为A[n]是最后一个元素,不拆它相当于后方有个较大的。对于每个数字,如果A[i]< 上一次存的数,那么我们不拆直接放进去,否则就正常拆掉,最终检查是不是按顺序来的

#include<bits/stdc++.h>
using namespace std;
int A[100];
int B[1000];
int main() {int a;cin>>a;for(int i=1;i<=a;i++){int b;cin>>b;for(int j=1;j<=b;j++){cin>>A[j];}int len=0;B[++len]=A[b];for(int j=b-1;j>=1;j--){if(A[j]<=B[len]){B[++len]=A[j];}else{B[++len]=A[j]%10;B[++len]=A[j]/10%10;}}int c;bool ok=true;for(int j=2;j<=len;j++){c=B[j-1];if(c<B[j]){cout<<"NO"<<endl;ok=false;break;}}if(ok==true){cout<<"YES"<<endl;}}return 0;
}

E题题解

#include<bits/stdc++.h> 
#define ll long long
using namespace std;
const int N=2e5+5;
char a[N],b[N];
int T;
int main(){cin>>T;while(T--){cin>>a>>b;int lena=strlen(a);int lenb=strlen(b);int op=0;for( int i=0;i<lena;i++ ){if(op==0){if(a[i]<b[i]) swap(a[i],b[i]);if(a[i]>b[i]) op=1;}else if(op==1){if(a[i]>b[i]) swap(a[i],b[i]);}}cout<<a<<'\n'<<b<<'\n';}return 0;
}

F题题解
模拟题,按题目意思写就行了 控制好坐标位置

#include<bits/stdc++.h>
using namespace std;
int n;char s[2][200010];
void Main(){cin>>n;scanf("%s%s",s[0]+1,s[1]+1);int f=0;for(int i=2;i<=n;i+=2)if(s[0][i]=='<'&&(s[1][i-1]=='<'||i<n-1&&s[1][i+1]=='<')){f=1;break;}if(f)cout<<"NO\n";else cout<<"YES\n";
}signed main(){int T;cin>>T;while(T--)Main();return 0;
}

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

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

相关文章

【传输层协议】UDP协议 {端口号的范围划分;UDP数据报格式;UDP协议的特点;UDP的缓冲区;基于UDP的应用层协议}

一、再谈端口号 1.1 端口号标识网络进程 如何通过端口号找到主机上的网络进程&#xff1f; 在socket编程中bind绑定是最为重要的一步&#xff1a;他将套接字与指定的本地 IP 地址和端口号关联起来&#xff0c;这意味着指定的套接字可以接收来自指定 IP 地址和端口号的数据包…

前端宝典十:webpack性能优化最佳实践

Webpack 内置了很多功能。 通常你可用如下经验去判断如何配置 Webpack&#xff1a; 想让源文件加入到构建流程中去被 Webpack 控制&#xff0c;配置 entry&#xff1b;想自定义输出文件的位置和名称&#xff0c;配置 output&#xff1b;想自定义寻找依赖模块时的策略&#xff…

java swagger解析解决[malformed or unreadable swagger supplied]

原创不易&#xff0c;转载请注明出处&#xff1a; https://zhangxiaofan.blog.csdn.net/article/details/141498211 如果你想看完整的 利用swagger-parser解析yaml中的api请求类型、注释、接口名&#xff0c;可以参考这篇文章。 【Spring/Java项目】如何利用swagger-parser解析…

NC 最长上升子序列(三)

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给定数组 arr…

OpenCV+Python识别机读卡

背景介绍 正常机读卡是通过读卡机读取识别结果的&#xff0c;目前OpenCV已经这么强大了&#xff0c;尝试着用OpenCVPython来识别机读卡。要识别的机读卡长这样&#xff1a; 我们做以下操作&#xff1a; 1.识别答题卡中每题选中项结果。 不做以下操作&#xff1a; 1.不识别准…

宝塔面板配置node/npm/yarn/pm2....相关全局变量 npm/node/XXX: command not found

1.打开终端 , cd 到根目录 cd / 2.跳转至node目录下,我的node版本是v16.14.2 cd /www/server/nodejs/v16.14.2/bin 2.1 如果不知道自己node版本多少就跳转到 cd /www/server/nodejs 然后查找当前目录下的文件 ls 确定自己的node版本 cd /node版本/bin 3.继续查看bin…

秋招突击——8/21——知识补充——计算机网络——cookie、session和token

文章目录 引言正文Cookie——客户端存储和管理Session——服务端存储和管理Token补充签名和加密的区别常见的加密算法和签名算法 面试题1、HTTP用户后续的操作&#xff0c;服务端如何知道属于同一个用户&#xff1f;如果服务端是一个集群机器怎么办&#xff1f;2、如果禁用了Co…

android13隐藏调节声音进度条下面的设置按钮

总纲 android13 rom 开发总纲说明 目录 1.前言 2.情况分析 3.代码修改 4.编译运行 5.彩蛋 1.前言 将下面的声音调节底下的三个点的设置按钮,隐藏掉。 效果如下 2.情况分析 查看布局文件 通过布局我们可以知道这个按钮就是 com.android.keyguard.AlphaOptimizedImageB…

记忆化搜索与状态压缩:优化递归与动态规划的利器

记忆化搜索是解决递归和动态规划问题的一种高效优化技术。它结合了递归的灵活性和动态规划的缓存思想&#xff0c;通过保存已经计算过的子问题结果&#xff0c;避免了重复计算&#xff0c;大幅提升了算法的效率。当问题状态复杂时&#xff0c;状态压缩技术可以进一步优化空间使…

node npm nvm 地址

​​​​​​nvm 修改 npm 地址&#xff1a;nvm npm_mirror https://npmmirror.com/mirrors/npm/或nvm npm_mirror https://registry.npmmirror.com/npm/nvm 修改 node 地址&#xff1a;nvm node_mirror https://npmmirror.com/mirrors/node/或nvm node_mirror https://registr…

密码学作业

1. 单选题 根据 Kerchoffs 假设&#xff0c;密码体制的安全性仅依赖于对&#xff08;&#xff09;的保密&#xff0c;而不应依赖于对密码算法的保密。 A.密钥B. 密码算法C. 明文的统计特性D. 密文 正确答案: A:密钥 ; 2. 如果一个密码体制的加密密钥与解密密钥相同&#xff0…

跨域解决 | 面试常问问题

跨域解决 | 面试常问问题 跨域问题一直是前端开发中不可避免的一部分&#xff0c;它涉及到浏览器的同源策略和安全机制。本文将深入解析跨域问题的本质&#xff0c;并探讨前端和后端的多种解决方案&#xff0c;同时分享一些扩展与高级技巧。最后&#xff0c;我们还将总结跨域解…

UE基础 —— Components

目录 Component Instancing Instanced Static Mesh Component Instanced Static Mesh Differences of an ISM and a Static Mesh Component Hierarchical Instanced Static Mesh Instancing Systems Working with ISMs Prefabrication Custom Data Creating and Edit…

什么原因会导致websocket断连

在Web应用中&#xff0c;WebSocket是一种常用的通信协议&#xff0c;它允许服务器和客户端之间进行全双工通信。然而&#xff0c;有时候我们会遇到WebSocket连接断开的情况。以下是可能导致WebSocket连接断开的一些常见原因&#xff1a; 网络问题&#xff1a;WebSocketClient依…

ElasticSearch 8.15.0 与 Kibana 8.15.0 尝鲜体验

还不算晚&#xff0c;虽然已经距离发布过去了快半个月~ 跟着下面的步骤进行一步一步操作(CV)&#xff0c;只需要改动一下用户名、密码这些数据即可从零开始用 Docker安装 ES 与 Kibana 最新版&#xff0c;据说 Kibana 还有 AI 助手嘞(虽然是 8.12 推出的)~ 最后强调一点&#…

自动化开发流程:使用 GitHub Actions 进行 CI/CD

在现代软件开发过程中&#xff0c;持续集成&#xff08;Continuous Integration, CI&#xff09;和持续部署&#xff08;Continuous Deployment, CD&#xff09;是确保高质量软件交付的关键组成部分。GitHub Actions 提供了一种简便的方式来实现 CI/CD 流程的自动化。本文将介绍…

Unity XR Interaction Toolkit 通过两个手柄控制物体放大缩小

1&#xff1a;给物体添加 XR General Grab Transformer 脚本 2&#xff1a;XR Grab Interactable 的 select mode 选择 Multiple

GRL CVPR2023图像修复 使用笔记

目录 github地址&#xff1a; 训练自己的数据教程&#xff1a; 网络学习&#xff1a; 损失函数&#xff1a; github地址&#xff1a; GitHub - ofsoundof/GRL-Image-Restoration 预训练模型&#xff0c;在release里面 如何使用代码&#xff1a; conda create -n Lightn…

java-队列--黑马

队列 别看这个&#xff0c;没用&#xff0c;还是多刷力扣队列题 定义 队列是以顺序的方式维护一组数据的集合&#xff0c;在一端添加数据&#xff0c;从另一端移除数据。一般来讲&#xff0c;添加的一端称之尾&#xff0c;而移除一端称为头 。 队列接口定义 // 队列的接口定…

Linux——驱动——杂项设备

一、杂项设备驱动 1、概念 杂项设备&#xff08;Miscellaneous Devices&#xff09;在Linux内核中是一种特殊的设备类型&#xff0c;用于表示那些不适合被归类为其他标准设备类型的设备。这些设备通常具有不规则的特性和非标准的通信协议或接口。 2、操作流程 杂项设备注册过…