Codeforces Round #855 (Div. 3) A-E
传送门
A. Is It a Cat?
题意
给你一个只有英文字母的字符串,问你这个字符串是否由连续的’m’, ‘e’, ‘o’,‘w’,(顺序不能改变)构成,并且不区分大小写。
如: “meow”, “mmmEeOWww”, “MeOooOw” 是符合要求的, 但是 “Mweo”, “MeO”, “moew”, “MmEW”, "meowmeow"是不符合的
思路
对于不同的字符串直接加入到新字符串中,然后和“MEOW”对比是否一致即可,记得大小写一致。
代码
void slove( )
{int t;cin>>n;string s;//meowcin>>s;bool st1=0,st2=0,st3=0,st4=0,st5=0;for(int i =0;i<n;i++){if(s[i]>='a')s[i]-=('a'-'A');}string a;for(int i=0;i<n;i++){if(s[i]!=s[i+1])a+=s[i];} if(a=="MEOW")cout<<"YES\n";else cout<<"NO\n";
B. Count the Number of Pairs
题意
给你一个只有英文字母的字符串s,如果两个满足字符满足大小写关系,那么就说明他们是配对的。每对成功配对后的字符不可重复配对。给你一个k,你可以对任意字符进行大小写交换操作(最多k次),问你这个字符串最多有多少个配对。
思路
用map存储每一个字符出现的次数,然后先加上大小写共有的字符数量,然后再根据k的值进行操作即可。
代码
void slove( )
{int k;cin>>n>>k;string a;cin>>a;map<int,int>q;for(int i =0;i<n;i++)q[a[i]]++;int res=0;for(int i ='a';i<='z';i++){int l=i-('a'-'A');if(q[i]<q[l])swap(q[i],q[l]);res+=q[l];if(k){res+=min((q[i]-q[l])/2,k);k-=min((q[i]-q[l])/2,k);}} cout<<res;cout<<endl;
}
C2/c1. Powering the Hero (hard version)
题意
按顺序给你n张卡牌,这些卡牌分为两类:力量牌和角色牌。对于力量牌,你可以把它放在你的力量牌顶:对于角色牌(初始力量为0),你可以消耗最上方的力量牌排融入其中。问你他的所有角色的力量和的最大值是多少?
思路
对于每一张角色牌时,他能获得的最大力量值就是他前面的最大的一张力量排,那么可以直接用优先队列去对力量值进行排序然后取值即可。
void slove( )
{cin>>n;for(int i =1;i<=n;i++)cin>>stt[i];ll res=0,k=0;priority_queue <int,vector<int>,less<int> >q;for(int i =1;i<=n;i++){if(stt[i]!=0)q.push(stt[i]);else if(q.size()) {res+=q.top();q.pop();}}cout<<rescout<<endl;
}
D. Remove Two Letters
题意
给你一个长度为n的小写字符串,问你任意去除两个相邻的字符串之后,不同的字符串的种类有多少
思路
一眼我是STL大神, 直接map存字符串结果荣获mle5
可以用字符串哈希,但是这道题明显有更简单的方法。首先
如果考虑最优情况,最多的不同的字符串种类肯定是n-1种,那么在此前提下我们去找相同的情况:
因为由样例“ababa”可以发现
如果s[i]==s[i+2],那么两次删除的字符串是相同的,那么直接遍历一遍如果存在就ans–,最后直接输出即可。
代码
void slove( )
{int t;cin>>n;cin>>a;int sum=n-1;for(int i =0;i<n;i++){if(a[i]==a[i+2]&&i+2<n)sum--;}cout<<sum;cout<<endl;
}
E2/E1 Unforgivable Curse (hard version)
题意
给你两个长度为n的只有英文的字符串a,b,然后给你一个k,你可以使si和s(i+k)或者si和s(i+k+1)交换,问你能否通过任意次交换,使得a,b字符串相等。
思路
假设是长度为(k+1)的字符串,那么就只能对于s1和s(1+k)进行交换,那么此时看换之前和换之后如果满足条件,否则无论怎么都满足不了
那么如果是小于(k+1)长度的字符串呢:那么这种字符串就是完全不能交换,即如果开始能满足就是YES,不能为NO。
如果是大于(k+1)长度的,那么从k+1开始看起,当n=k+2时,能任意交换的数字有开头两个和结尾两个,长度每次加1,能任意交换的数字就+2(末尾和不能交换的数字的最左边)(
例:abcdef 和k为4,那么能够任意交换的字符为abef,如果n为abcdefg,那么能够任意交换的字符为abcefg),
那么可以取这部分范围内不可交换的字串判断一下如果相等也是可以交换的;直到n为2*k的时候,所有的字符都可以任意交换。
代码
void slove()
{int k;cin>>n>>k;string a, b;cin >> a >> b;map<int, int> p, q;for (int i = 0; i < n; i++)q[a[i]]++, p[b[i]]++;for (int i = 0; i < n; i++){if (q[a[i]] != p[a[i]]){cout << "NO\n";return;}}if (a == b||k==1){cout << "YES\n";return;}if(n<k+1)cout<<"NO\n";else if(n==k+1){swap(a[0],a[n-1]);if(a==b)cout<<"YES\n";else cout<<"NO\n";}else if(n>=2*k) cout<<"YES\n";else{a=a.substr(n-k,2*k-n);b=b.substr(n-k,2*k-n);if(a==b)cout<<"YES\n";else cout<<"NO\n";}
}
总结:感觉这一场打的还行,d题也没有特别的无脑wa(但是下次还可以少wa点),e的思路差不多都有了,但是写出d后没那么多想法了就有点水群,以后要记得全力以赴!!!
相关文章:
Codeforces Round #855 (Div. 3) A-E
传送门 A. Is It a Cat? 题意 给你一个只有英文字母的字符串,问你这个字符串是否由连续的’m’, ‘e’, ‘o’,‘w’,(顺序不能改变)构成,并且不区分大小写。 如: “meow”, “mmmEeOWww”, “MeOooOw” 是符合要求…...
3/3操作系统作业
目录 1.前趋图和程序执行 (1)前驱图 (2)程序的顺序执行 (3)程序的并发执行 2.进程的描述 (1)进程的定义与特征 编辑编辑(2)进程控制块编辑 &…...
「C/C++」 标准文件操作大全
一、设备文件(运行程序时会默认打开这三个设备文件) stdin:标准输入,默认为当前终端(键盘),我们使用的scanf、getchar函数默认从此终端获得数据。stdout: 标准输出,默认…...
一款SAST工具需要支持多少种编译器呢?
除了Java语言,C#语言之外,C、C语言是编译器类型最多的编程语言,有几十种编译器,这些编译器方言为研发SAST工具带来了巨大的工作量,很多产品由于无法适配客户的编译器,导致无法检测。下面我们罗列一下国外和…...
jvm mat分析dump文件
jvm调优中,经常使用dump来分析是否存在大对象导致频繁full gc,以下为使用步骤: 一、获得服务进程 ps -ef | grep list-app | grep -v grep 二、生成dump文件 jmap -dump:formatb,filexxx.dump pid jmap -dump:filetest.hprof,formatb 3307…...
python16行代码获取原神全角色+全语音
前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 本来是不玩原神的,但是实在是经不住双重诱惑呀~ 毕竟谁能拒绝角色风景超级好看又可以爬树、炸鱼、壶里造房子、抓小动物、躲猫猫的游戏捏~ 今天点进官网~角色得配音让我沉陷其中,于是 我决定把他们爬…...
链接投票二维码制作制作投票链接视频选举投票制作
关于微信投票,我们现在用的最多的就是小程序投票,今天的网络投票,在这里会教大家如何用“活动星投票”小程序来进行投票。我们现在要以“信赖挚友”为主题进行一次投票活动,我们可以在在微信小程序搜索,“活动星投票”…...
HTTP 协议
HTTP(hypertext transport Protocol);超文本传输协议,是浏览器与万维网服务器之间通信的规则。 规定了客户端与服务端之间互相发送内容的格式,客户端发给服务端的叫 请求协议,服务端返回给客户端的为 响应…...
公司新招了个人,一副毛头小子的样儿,哪想到是新一代卷王····
内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。 在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是…...
TSDF学习记录
【唐宇迪】三维重建-TSDF通俗解读 人工智能入门教程 水泡动画模拟(Marching Cubes) - 算法小丑 - 博客园 (cnblogs.com) TSDF 流程分析 首先需要构建一大块空区域采用体素网格来存储该区域需要计算每个体素的TSDF值及其权重 原理简述 SDF值&#x…...
【Linux】孤儿进程
在Linux中,如果子进程运行时,父进程因为某些原因先行终止,就称该子进程为孤儿进程。 我们编写如下代码: 子进程一直在运行,父进程运行一段时间后自动终止。运行该程序观察现象: 最开始时,子进程…...
ChatGPT解答:python大批量读写ini文件时,性能很低,有什么解决方法吗,给出具体的思路和实例
ChatGPT解答: python大批量读写ini文件时,性能很低,有什么解决方法吗,给出具体的思路和实例 ChatGPTDemo Based on OpenAI API (gpt-3.5-turbo). python大批量读写ini文件时,性能很低,有什么解决方法吗&…...
MySql主键id不推荐使用UUID
前言 昨天在某个技术群中,有个老哥发送了一个技术视频:讲的是一个毕业生面试被问,前后端的交互ID是使用自增的吗?为什么不使用UUID?最后的解释是说性能问题,这个引起了我的兴趣,查了一下资料总…...
密码算法(SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算)
文章目录SM1 对称密码SM2 椭圆曲线公钥密码算法SM3 杂凑算法SM4 对称算法同态加密密态计算和隐私计算安全多方计算技术安全多方计算的应用场景对称加密算法非对称加密算法(公钥加密)参考文章SM1、SM2、SM3和SM4 为了保障商用密码的安全性,国家…...
保险行业中【内容行政系统】模块功能的实现
以下是一个基本的保险行业中的内容行政系统功能模块,包括对保单、理赔等方面的处理: 创建保单表创建理赔表创建保单查询视图创建理赔查询视图创建新保单更新保单状态创建理赔更新理赔状态-- 创建保单表 CREATE TABLE policies ( policy_id NUMBER PRIM…...
C语言入门知识——(7)VS2022的C语言基础调试
1、什么是bug 这个故事很多人都知道 1947年9月9日:第一个“Bug”被发现的时候:“1949年9月9日,我们晚上调试机器的时候,开着的窗户没有纱窗,机器闪烁的亮光几乎吸引来了世界上所有的虫子。果然机器故障了,…...
数据库可视化开发工具内容介绍
在现代化办公环境中,数据管理的重要性不言而喻。对于企业来说,将企业内部的数据做好规划和管理,可以给企业提升办公协作效率,为企业高层做出正确的经营决策奠定基础。本文主要给大家介绍的是数据化可视化开发工具的内容࿰…...
坚如磐石:TiDB 基于时间点的恢复(PiTR)特性优化之路丨6.5 新特性解析
本文介绍了 TiDB 数据库的基于时间点的恢复(PiTR)特性,该特性允许用户将数据库恢复到特定时间点,从而避免丢失重要数据。文章首先介绍了 PiTR 技术的基本概念和工作原理,接着探讨了 TiDB 对 PiTR 的优化,包…...
【云原生】K8S中PV和PVC
前言 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。…...
24小时稳定性爆肝测试!国内外5款远程控制软件大盘点
本文目录前言一、ToDesk远程控制二、向日葵远程控制三、RayLink四、TeamViewer五、AnyDesk总结前言 不论你的职业是什么,从事互联网工作基本就离不开远程,从远程安装系统到远程搞设计,再到做服务器的调控,都需要靠远程来协助完成…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
