【Atcoder训练记录】AtCoder Beginner Contest 381

news/2025/2/27 10:43:30/文章来源:https://www.cnblogs.com/longxingx/p/18564279

训练情况

赛后反思

简单题A题做红温了,怒吃 6 罚时,C题双指针其实差不多想出来了,但是对于判断字符串合法其实可以只判断两个端点,不需要全部遍历,中途还想了二分做法(?),然而写到最后发现并没有二分单调性。

A题

记得判断字符串的长度必须是奇数,\(1 \sim \frac{n+1}{2}-1\)1\(\frac{n+1}/2\)/\(\frac{n+1}{2}+1 \sim n\)2。满足上述所有条件就输出 Yes,否则输出 No

#include <bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;void solve(){int n;char s[107];cin>>n;getchar();for(int i = 1;i<=n;i++) cin>>s[i];bool flag = true;if(n%2==0) flag = false;for(int i = 1;i<=(n+1)/2-1;i++) if(s[i] != '1') flag = false;if(s[(n+1)/2] != '/') flag = false;for(int i = (n+1)/2+1;i<=n;i++) if(s[i] != '2') flag = false;if(flag) cout<<"Yes"<<endl;else cout<<"No"<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

B题

判断 \(2i - 1\)\(2i\) 上的字符是否相同,字符串中每一个字母出现的次数均为 \(2\),满足上述所有条件输出 Yes,否则输出 No

#include <bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;void solve(){char s[107]; cin>>s+1;int n = strlen(s+1);bool flag = true;if(n&1) flag = false;for(int i = 1;i<=n/2;i++) if(s[2*i-1] != s[2*i]) flag = false;map<char,int> cnt;for(int i = 1;i<=n;i++) cnt[s[i]]++;for(auto i:cnt) if(i.second != 2) flag = false;if(flag) cout<<"Yes"<<endl;else cout<<"No"<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

C题

判断字符串中的满足 11/22 序列最长的子串长度,我们发现序列必须 / 在中间,所以我们考虑枚举 / 的位置再使用双指针往两边找,左边必须是 1,右边必须是 2,满足条件就 l--,r++ 扩大范围,最后答案取子串长度 \(r-l+1\) 的最大值。

#include <bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;void solve(){int n; string s;cin>>n>>s;int ans = 0;for(int i = 0;i<n;i++){if(s[i] != '/') continue;int l = i;int r = i;while(l-1>=0&&r-1<=n-1&&s[l-1] == '1'&&s[r+1]=='2'){l--,r++;}ans = max(ans,r-l+1);}cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

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

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

相关文章

putty中设置白色背景、黑色字体

001、 002、 003、 前景色全部改为0 004、 背景色全部改为255 。

【牛客训练记录】牛客小白月赛105

训练情况赛后反思 看十佳歌手去了,比较晚回来,只开了A题,B题不看数据范围直接一眼丁真直接WA了一发 A题 两个数相乘进行比较,再判断即可。 #include <bits/stdc++.h> #define int long long #define endl \nusing namespace std;void solve(){int a1,b1,a2,b2; cin&g…

Win 11史诗升级,终于能完美兼容安卓生态

曾几何时,Windows与安卓设备之间的壁垒让人头疼不已。如今,微软再一次引领变革!Windows 11迎来了“史诗级”升级,安卓生态的完美兼容终于成为现实。这次升级将如何改变我们的使用体验? Win 11 的安卓兼容性升级具体实现了哪些突破?它对用户工作和娱乐方式有怎样的深远影响…

MPU6050 原理及驱动

MPU6050 姿态传感器原理分析MPU6050 是一款由 InvenSense 设计的低成本紧凑型 6 轴姿态传感器。该传感器可提供三轴角速度、三轴加速度和芯片温度数据。主设备可通过 I2C 与之进行通讯,从而获取并解算测量数据。MPU6050 技术参数3 轴陀螺仪(16位):量程范围为 250、500、100…

1.11--01:查找最接近的元素

http://noi.openjudge.cn/ch0111/01/查找最接近的元素 题目传送门 思路 可以看到数据范围,如果我们两层循环mn,10000*100000,时间复杂度绝对爆炸 所以我们就需要用到二分查找 什么是二分呢? 通俗的讲,就是每次砍半 假设我们在10个数据中查找接近7的元素 \(1 3 4 8 10 12 3…

一行代码搞定Windows/Office,史上最简单操作

曾几何时,安装和激活 Windows 或 Office 是让小白头疼的大工程,繁琐的操作让人心力交瘁。而今天,我们只需要一行代码就能轻松搞定!是不是听起来很不可思议? 一行代码究竟如何实现 Windows 和 Office 的快速激活?它是否既高效又安全?如今,无论是学习还是办公,都离不开 …

触想工业显示器应用于光伏自动化设备,助力绿色低碳能源发展

一、行业发展背景受能源危机影响及全球碳中和政策利好,近年来,我国光伏产业呈现快速扩张趋势。作为光伏组件核心发电设备,电池片的市场供需被同步拉高,也带动了电池片制造设备等周边产业的迅速成长。△光伏产业快速成长与此同时,旺盛需求带来的激烈竞争格局不断加剧产业“…

Drools与动态加载规则文件

Drools简介Drools是一款基于Java的开源规则引擎,将规则与业务代码解耦。规则以脚本的形式存储在一个文件中,使规则的变化不需要修改代码,重新启动机器即可在线上环境中生效。规则引擎实现了业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据…

Drools决策表实践运用

决策表使用方式在Drools中,决策表通常是以Excel(.xls或.xlsx)或者CSV格式存储的,这些格式的决策表并不能直接被Drools执行。它们需要被转换成Drools规则语言(DRL)的文本格式,之后才能被编译和执行。Drools提供了工具来帮助完成这一转换,主要使用org.drools.decisiontab…

Economies of Scale

规模经济(Economies of Scale) 规模经济指的是随着生产规模的扩大,单位产品的平均成本下降的现象。这通常发生在企业生产规模增加到一定程度时,由于固定成本(如厂房、机器设备等)被更多的产品分摊,单位产品的固定成本降低,同时由于规模的扩大,企业可能会享受到采购原材…

Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET

在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET binary.一、现象 在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应…

【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)

通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤:副标题:Cloud Service Extend…