codeforces周赛div3#855记录
目录
总结
一,A. Is It a Cat?
二,B. Count the Number of Pairs
三,C1. Powering the Hero (easy version)
四,C2. Powering the Hero (hard version)
总结
真羡慕ACM校队的同学,能AC七八题,甚至ak
可能别人从div4一道题都做不对,到div3,AC 九题,只需要几个月的时间😲
那么从div3AK到div2AK他们又需要多久呢?也许是半年?
div2AK的实力,拿铜牌是否有希望呢,观望大佬成长
对于字符串,vector, queue的常用函数的使用还很生疏,所幸经过这次锻炼,下次应该可以AC同类型的题
因为不熟练,浪费了接近一半的时间在百度搜vector和queue的用法,以及字符串常用函数
知识点
1,字符串常用函数
头文件#include<cstring>
1,截取子串
s.substr(i)从下标i开始截取到结尾,s.substr(i, j)从下标i开始截取j个字符
2,替换子串
s.replace(i, j, s1)用s1替换s中从下标i开始的j个字符
3,查找子串
s.find(s1) 查找s1在s中第一次出现的下标
s.rfind(s1) 查找s1在s中最后一次出现的下标
4,删除子串
s.erase(i, j)删除从下标i开始的j个字符
关于s.find()补充
#include<iostream>
#include<cstring>
using namespace std;int main()
{string s1 = "babajiaoni";string s2 = "bajiao";string s3 = "babb";if(s1.find(s3) == string::npos) //找不到子串cout<<"找不到子串"<<endl;if(s1.find(s2) != string::npos) //能找到子串cout<<"能找到子串";return 0;
}
找不到子串
能找到子串
2,queue
→ (2条消息) C++优先队列priority_queue详解_priority_queue头文件_是一只派大鑫的博客-CSDN博客
→
(5条消息) C++队列queue用法详解(超详细)_轻松学C语言的博客-CSDN博客
3,vector
→ (5条消息) c++ vector详解_~不羁的博客-CSDN博客
反思
只过了2题,第三题一开始尝试vector + priority_queue,但是写了70多行,非常混乱,写写改改,最后还是没过
今早补题,才发现想复杂了,臆想多了一个限制条件,但是样例并没有体现我这个思路的错误
后来拿第三题(easy version)AC的代码提交第四题(hard),发现第四题也直接过了
一,A. Is It a Cat?
Problem - A - Codeforces
标签:模拟,字符串
这个思路不是很清晰,写写改改才AC,代码非常臃肿
用了字符串函数中的s.find()和s.rfind(),头文件是#include<cstring>
关键是,现在codeforces不知道为什么禁止中文注释了,说我不符合utf-8标准。。。。
这里又浪费了10分钟。。
AC 代码
#include<iostream>
#include<cstring> //s.find(s1)
using namespace std;
int main()
{int t, n;string s;cin>>t;while(t--) {int flag = 1;cin>>n;cin>>s;for(int i = 0; i < n; ++i)if(s[i] == 'M' || s[i] == 'E' ||s[i] == 'O' || s[i] == 'W')s[i] += 32;if(s.find('w') == string::npos || s.find('o') == string::npos|| s.find('e') == string::npos || s.find('m') == string::npos) {cout<<"NO"<<endl;continue;}else if(s.find('w') < s.find('o') || s.find('o') < s.find('e')|| s.find('e') < s.find('m')) {cout<<"NO"<<endl;continue;}else if(s.rfind('m') + 1 != s.find('e') ||s.rfind('e') + 1 != s.find('o') ||s.rfind('o') + 1 != s.find('w')) {cout<<"NO"<<endl;continue;}for(int i = 1; i <= s.rfind('m'); ++i)if(s[i] != s[i - 1]) {flag = 0;cout<<"NO"<<endl;break;}for(int i = s.find('e') + 1; i <= s.rfind('e'); ++i)if(s[i] != s[i - 1]) {flag = 0;cout<<"NO"<<endl;break;}for(int i = s.find('o') + 1; i <= s.rfind('o'); ++i)if(s[i] != s[i - 1]) {flag = 0;cout<<"NO"<<endl;break;}for(int i = s.find('w') + 1; i < n; ++i)if(s[i] != s[i - 1]) {flag = 0;cout<<"NO"<<endl;break;}if(flag)cout<<"YES"<<endl;}return 0;
}
二,B. Count the Number of Pairs
Problem - B - Codeforces
标签:贪心,字符串
初始思路不是很清晰,写了50多行才AC
AC 代码
#include<iostream>
#include<cstring>
using namespace std;
int a[26], b[26];
int main()
{int t, n, k, ans;string s;cin>>t;while(t) {t--;memset(a, 0, sizeof(a));memset(b, 0, sizeof(b));ans = 0;cin>>n>>k;cin>>s;for(int i = 0; i < n; ++i) {if(s[i] >= 'a' && s[i] <= 'z')a[s[i] - 'a']++;if(s[i] >= 'A' && s[i] <= 'Z')b[s[i] - 'A']++;}for(int i = 0; i < 26; ++i) {if(a[i] >= b[i]) {ans += b[i];a[i] -= b[i];b[i] = 0;}else {ans += a[i];b[i] -= a[i];a[i] = 0;}}for(int i = 0; i < 26; ++i) {if(a[i] >= 2)while(k > 0 && a[i] >= 2) {ans += 1;k--;a[i] -= 2;}else if(b[i] >= 2)while(k > 0 && b[i] >= 2) {ans += 1;k--;b[i] -= 2;}if(k == 0) break;}cout<<ans<<endl;}return 0;
}
三,C1. Powering the Hero (easy version)
Problem - C1 - Codeforces
标签:数据结构,贪心
这题臆想多了一个限制条件,多做了很多无用功,最后还不符合题意
简单的queue使用,其他都不需要了
30行优先队列能搞定的,我一开始愣是结合vector写了70行
AC 代码
#include<iostream>
#include<queue>
#include<cstdio> //scanf()
using namespace std;
int main()
{int t, n;scanf("%d", &t);while(t) {t--;scanf("%d", &n);long long ans = 0, m;priority_queue<int>q;for(int i = 0; i < n; ++i) {scanf("%lld", &m);if(m != 0) {q.push(m);}if(m == 0)if(!q.empty()) {ans += q.top();q.pop();}}cout<<ans<<endl;}return 0;
}
四,C2. Powering the Hero (hard version)
标签:数据结构,贪心
同第三题,只是数据量不同,第三题AC 代码提交,也能过
AC 代码
同第3
#include<iostream>
#include<queue>
#include<cstdio> //scanf()
using namespace std;
int main()
{int t, n;scanf("%d", &t);while(t) {t--;scanf("%d", &n);long long ans = 0, m;priority_queue<int>q;for(int i = 0; i < n; ++i) {scanf("%lld", &m);if(m != 0) {q.push(m);}if(m == 0)if(!q.empty()) {ans += q.top();q.pop();}}cout<<ans<<endl;}return 0;
}
相关文章:
codeforces周赛div3#855记录
目录 总结 一,A. Is It a Cat? 二,B. Count the Number of Pairs 三,C1. Powering the Hero (easy version) 四,C2. Powering the Hero (hard version) 总结 真羡慕ACM校队的同学,能AC七八题,甚至ak …...
2022年考研结果已出,你上岸了吗?
官方公布:2022年考研人数为457万。 2月20号左右,全国考研分数已经陆续公布,现在已经过去一周左右的时间了,你上岸了吗,还是在等调剂,或者已经知道落榜不知道何去何从? 考研的热潮在近几年席卷…...
2023 工业互联网平台:智慧制硅厂 Web SCADA 生产线
我国目前是全球最大的工业硅生产国、消费国和贸易国,且未来该产业的主要增量也将来源于我国。绿色低碳发展已成为全球大趋势和国际社会的共识,随着我国“双碳”目标的推进,光伏产业链快速发展,在光伏装机需求的带动下,…...
6-2 SpringCloud快速开发入门:声明式服务消费 Feign实现消费者
声明式服务消费 Feign实现消费者 使用 Feign实现消费者,我们通过下面步骤进行: 第一步:创建普通 Spring Boot工程 第二步:添加依赖 <dependencies><!--SpringCloud 集成 eureka 客户端的起步依赖--><dependency>…...
Git-学习笔记01【Git简介及安装使用】
Java后端 学习路线 笔记汇总表【黑马-传智播客】Git-学习笔记01【Git简介及安装使用】Git-学习笔记02【Git连接远程仓库】Git-学习笔记03【Git分支】目录 01-git的历史 02-git和svn的对比 03-git的安装 04-向本地仓库中添加文件 05-修改文件内容并提交 06-删除本地仓库中…...
【Python】控制自己的手机拍照,并自动发送到邮箱
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 今天这个案例,就是控制自己的摄像头拍照, 并且把拍下来的照片,通过邮件发到自己的邮箱里。 想完成今天的这个案例,只要记住一个重点:你需要一个摄像头 思路…...
八股文(二)
一、 实现深拷贝和浅拷贝 1.深拷贝 function checkType(any) {return Object.prototype.toString.call(any).slice(8, -1) }//判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 //如果获得的数据是可遍历的&#…...
在CANoe/CANalyzer中观察CAN Message报文的周期Cycle
案例背景: 该篇博文将告诉您,如何直观的,图示化的,查看CAN网络中各CAN Message报文的周期变化。 优质博文推荐阅读(单击下方链接,即可跳转): Vector工具链 CAN Matrix DBC CAN M…...
Linux命令·ls
ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息…...
Mysql InnoDB 存储引擎笔记
1 存储引擎 简介 Mysql 存储引擎有多种:包括 MyISAM、InnoDB 和 Memory。 其中MyISAM 和 INNODB 的区别: 事务安全(MyISAM不支持事务,INNODB支持事务);外键 MyISAM 不支持外键, INNODB支持外…...
智慧工地AI视频分析系统 opencv
智慧工地AI视频分析系统通过pythonopencv网络模型图像识别技术,智慧工地AI视频分析算法自动识别现场人员穿戴是否合规。本算法模型中用到opencv技术,OpenCV基于C实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Pyth…...
小红书「高效达人筛选攻略」
三八女神节降临,诸多品牌纷纷开启铺垫预热,在各大平台借势宣传。而聚集庞大年轻女性消费群体的小红书,对“她营销”的重要性不言而喻。节点序幕拉开,面对海量达人信息,如何提前积草屯粮、高效备战? 本期千瓜…...
大话数据结构-线性表
1 定义 线性表是零个或多个数据元素的有限序列。 2 抽象数据类型 ADT 线性表(List)Data:线性表的数据对象集合为{al,a2,a3,....an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素&…...
分布式缓存 Memcached Linux 系统安装
1.Memcached简介 Memcached是一个开源、高性能,将数据分布于内存中并使用key-value存储结构的缓存系统。它通过在内存中缓存数据来减少向数据库的频繁访问连接的次数,可以提高动态、数据库驱动之类网站的运行速度。 Memcached在使用是比较简单的&#…...
【数据结构】链表:看我如何顺藤摸瓜
👑专栏内容:数据结构⛪个人主页:子夜的星的主页💕座右铭:日拱一卒,功不唐捐 文章目录一、前言二、链表1、定义2、单链表Ⅰ、新建一个节点Ⅱ、内存泄漏Ⅲ、插入一个节点Ⅳ、销毁所有节点Ⅴ、反转一个链表3、…...
linux shell 入门学习笔记18 函数开发
概念 函数就是将你需要执行的shell命令组合起来,组成一个函数体。一个完整的函数包括函数头和函数体,其中函数名就是函数的名字。 优点 将相同的程序,定义,封装为一个函数,能减少程序的代码数量,提高开发…...
如何最巧妙回答HR面试“送命题”:你为什么离开上家公司?
一 HR面试存在“送命题”? 一个资深HR朋友聊到,他最近pass掉一个名校高材生。 其实洽谈过程还比较愉悦,小姑娘名校毕业,落落大方,薪酬要求比较合理,各方面都比较符合,最后就在决定要录用时,HR朋友随口问了句 “你为什么离开上家公司?”,小姑娘也是随口说了句“我不喜…...
注意力机制详解系列(五):分支与时间注意力机制
👨💻作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享,公众号:GoAI的学习小屋,免费分享书籍、简历、导图等资料&…...
创宇盾重保经验分享,看政府、央企如何防护?
三月重保已经迫近,留给我们的准备时间越来越少,综合近两年三月重保经验及数据总结,知道创宇用实际案例的防护效果说话,深入解析为何创宇盾可以在历次重保中保持“零事故”成绩,受到众多部委、政府、央企/国企客户的青睐…...
软件测试面试汇总
在浏览器中输入 URL,回车后发生了什么? 在浏览器中输入URL并按下回车键后,大致流程如下: 1、浏览器解析 URL,提取出协议(例如HTTP、HTTPS)、主机名和路径等信息。 2、浏览器查找该URL的缓存记录࿰…...
空指针,野指针
空指针在C/C中,空指针(null pointer)是指向内存地址0的指针变量。NULL在C/C中的定义为:#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif #endif从上面的代码定义中,我们可以发现在C…...
Mysql Nested-Loop Join算法和MRR
MySQL8之前仅支持一种join 算法—— nested loop,在 MySQL8 中推出了一种新的算法 hash join,比 nested loop 更加高效。(后面有时间介绍这种join算法) 1、mysql驱动表与被驱动表及join优化 先了解在join连接时哪个表是驱动表&a…...
Spark 广播/累加
Spark 广播/累加广播变量普通变量广播分布式数据集广播克制 Shuffle强制广播配置项Join Hintsbroadcast累加器Spark 提供了两类共享变量:广播变量(Broadcast variables)/累加器(Accumulators) 广播变量 创建广播变量…...
飞天云动,站在下一个商业时代的门口
ChatGPT的爆火让AIGC再度成为热词,随之而来的是对其商业化的畅想——不是ChatGPT自身如何盈利,而是它乃至整个AIGC能给现在的商业环境带来多大改变。 这不由得令人想起另一个同样旨在改变世界的概念,元宇宙。不同的是,元宇宙更侧…...
上海分时电价机制调整对储能项目的影响分析
安科瑞 耿敏花 2022年12月16日,上海市发改委发布《关于进一步完善我市分时电价机制有关事项的通知》(沪发改价管〔2022〕50号)。通知明确上海分时电价机制,一般工商业及其他两部制、大工业两部制用电夏季(7、8、9月)和冬季&#x…...
产品新人如何快速上手工作
三百六十行,行行出产品经理:上至封神的乔布斯,下至卖鸡蛋罐饼的阿姨,他们对如何打造自己的产品都会有一套完整的产品思路,这也是为什么说“人人都是产品经理”。这个看似光鲜的“经理”有时也会被戏称产品汪࿰…...
Linux: ARM GIC仅中断CPU 0问题分析
文章目录1. 前言2. 分析背景3. 问题4. 分析4.1 ARM GIC 中断芯片简介4.1.1 中断类型和分布4.1.2 拓扑结构4.2 问题根因4.2.1 设置GIC SPI中断的CPU亲和性4.2.2 GIC初始化:缺省的CPU亲和性4.2.2.1 boot CPU亲和性初始化流程4.2.2.1 其它非 boot CPU亲和性初始化流程5…...
第20篇:Java运算符全面总结(系列二)
目录 4、逻辑运算符 4.1 逻辑运算符 4.2 代码示例 5、赋值运算符 5.1 赋值运算符...
OpenCV4.x图像处理实例-OpenCV两小时快速入门(基于Python)
OpenCV两小时快速入门(基于Python) 文章目录 OpenCV两小时快速入门(基于Python)1、OpenCV环境安装2、图像读取与显示3、图像像素访问、操作与ROI4、图像缩放5、几何变换5.1 平移5.2 旋转6、基本绘图6.1 绘制直线6.2 绘制圆6.3 绘制矩形6.4 绘制文本7、剪裁图像8、图像平滑与…...
【Git】Mac忽略.DS_Store文件
我们在github上经常看到某些仓库里面包含了.DS_Store文件,或者某些sdk的压缩包里面可以看到,这都是由于随着git的提交把这类文件也提交到仓库,压缩也是一样,压缩这个先留着后面处理。 Mac上的.DS_Store文件 .DS_Store 文件&#…...
做网站的怎么赚钱/seo招聘网
Combogrid 是一个jQuery插件用于为输入框添加高级自完成功能(auto-complete)。当用户输入的时候,会在输入框的下方面动态显示一个拥有分页功能 的表格(Grid)控件。 通过Ajax请求,然后结果以JSON(…...
做水果蔬菜生意网站/南昌seo快速排名
现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes#include#inclu…...
黄埔营销型网站建设/广州网站seo公司
MySQL 提供了两种事务型的存储引擎:InnoDB 和 NDB Cluster 。另外还有一些第三方存储引擎也支持事务1. 数据库事务数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败。例如在转账的流程下,张三给李四转…...
山石网站超市/ui设计公司
我有一个场景,当我点击按钮时,我想要弹出AlertDialog. AlertDialog是一个自定义警报对话框,因为它具有自定义Listview.我使用以下代码分配AlertDialog OnClick按钮top.setOnClickListener(new OnClickListener() {Context mcontext;Overridepublic void onClick(View arg0) {//…...
信息化网站建设的请示/b站软件推广大全
具有相同名字的object和class,分别为伴生对象和伴生类 1 class ApplyTest { //伴生类 2 3 } 4 5 object ApplyTest { //伴生对象 6 7 } 补充代码: object ApplyApp {def main(args: Array[String]): Unit {var c ApplyTest() // >object.apply()c() …...
营销网站模版/成都网站排名生客seo怎么样
异步FIFO为什么要使用格雷码(笔记) 首先要了解的是异步FIFO使用格雷码的唯一目的就是: “即使在亚稳态进行读写指针抽样也能进行正确的空满状态判断”。 那么典型的判断方法是怎样进行的呢?以满状态判断为例,先要对读指针(属于读…...