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

【刷题】(AtCoder Beginner Contest 328) C、D 补题

前言

第一次打 a了两道 C、D都是TLE 看了其他人的题解之后 有一些想法 所以发一篇博客

C

题干


题目链接

我的思路及做题过程

我的思路是 输入left、right 再在这个区间内计算字母相同的对数

代码是:

#include<iostream>
#include<cmath>
#include<algorithm>using namespace std;int main()
{int n, q, le, ri, _max = 0;string str;cin >> n >> q >> str;for (int i = 0; i < q; i++) {cin >> le >> ri;int num = 0;for (int j = le - 1; j < ri - 1; j++) {if (str[j] == str[j + 1]) {num++;}}cout << num << endl;}return 0;
}

tle了

优化

其实 在每一个小的区间里 对数是不变的
所以我们可以先遍历字符串找到每个小的区间内的对数
再根据输入的left和right输出相应区间内的对数

遍历

遍历的过程是下面这样

for (int i = 1; i <= n; i++)
{if (str[i] == str[i - 1]){t++;num[i] = t;}else{num[i] = t;}
}
输出
		cout << num[right - 1] - num[left - 1] << endl;

思考

写题要有自己的思考 不要题目说什么 就写什么
不然简单题也会吃亏

D

题干


题目链接

我的思路及做题过程

使用find函数和erase函数
find函数查找”ABC“ erase函数删除”ABC“

但是TLE了

我在想是不是数据量大的时候 库函数太慢了

就只用循环和判断语句来写了

#include<iostream>using namespace std;char a[200100];
string s;
int main() {cin >> s;int left = 0;int right = 0;while (left < s.size()) {right++;a[right] = s[left];//赋值给另一个数组if (right >= 3) {if (a[right] == 'C' && a[right - 1] == 'B' && a[right - 2] == 'A') {//满足条件 就减少输出的范围 即rightright -= 3;}}left++;}for (int k = 1; k <= right; k++)cout << a[k];return 0;
}

总结

虽然库函数很好用 但遇到大的数据量的时候 还是要注意一些 很容易TLE
太痛苦了

结尾

AB没什么可说的 CD都是TLE E看了一眼 看到了图 不打算做了
第一次打atcoder 感觉还是不太好

菜就多练 以前是以前 现在是现在

我们下篇文章见

http://www.lryc.cn/news/226539.html

相关文章:

  • NI USRP软件无线设备的特点
  • 大数据毕业设计选题推荐-污水处理大数据平台-Hadoop-Spark-Hive
  • 最新获取支付宝cardIndex参数图文教程
  • Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
  • 自然语言处理(一):RNN
  • 超全总结!大模型算法面试指南(含答案)
  • 前端使用C-lodop 实现循环套打小案例
  • 基于SpringBoot+Vue+mysql卓越导师双选系统设计与实现
  • Windows 11系统cmd终端美化、Vscode终端美化
  • [游戏中的图形学实时渲染技术] Part1 实时阴影技术
  • NtripShare Mos地铁自动化监测终端盒子硬件设计
  • 第 117 场 LeetCode 双周赛题解
  • OpenCV C++ 图像处理实战 ——《多二维码识别》
  • 经典算法(查找与排序)
  • 微软和Red Hat合体:帮助企业更方便部署容器
  • ZYNQ_project:IP_ram_pll_test
  • Leetcode刷题详解——优美的排列
  • [PHP]Kodexplorer可道云 v4.47
  • C/C++数字判断 2021年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • 云栖大会丨桑文锋:打造云原生数字化客户经营引擎
  • 如何用java写一个网站:从零搭建个性化网站
  • Easyui DataGrid combobox联动下拉框内容
  • 力扣学习笔记——11. 盛最多水的容器
  • Spring Boot: 约定优于配置的软件设计思想
  • TCP触发海康扫码相机S52CN-IC-JQR-NNN25
  • ArcGIS:如何迭代Shp文件所有要素并分别导出为Shp文件?
  • [工业自动化-11]:西门子S7-15xxx编程 - PLC从站 - 分布式IO从站/从机
  • Linux技能篇-yum源搭建(本地源和公网源)
  • 电脑清灰涂硅脂后电脑CPU温度不降反升
  • 吴恩达《机器学习》8-1->8-2:非线性假设、神经元和大脑