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

蓝桥杯每日一题2023.9.22

4960. 子串简写 - AcWing题库

题目描述

题目分析 

原本为纯暴力但是发现会超时,可以加入前缀和,从前往后先记录一下每个位置c1出现的次数

再从前往后扫一遍,如果遇到c2就将答案加上此位置前的所有c1的个数(直接加上此位置的前缀和)

纯暴力:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ans;
int main()
{ll k;string s;char c1, c2;cin >> k;cin >> s;cin >> c1 >> c2;ll len = s.size();for(ll i = 0, j = 1; i < len - 1; i ++){if(s[i] == c1){j = i + 1;while((s[j] != c2 || j - i + 1 < k) && j < len - 1){j ++;}if(s[j] == c2 && j - i + 1 >= k){ans ++;while(j < len - 1) {j ++;if(s[j] == c2){ans ++;}}}}}cout << ans;return 0;
}

 ac代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e5 + 10;
ll k, ans, s[N];
string c;
char c1, c2;
int main()
{cin >> k;cin >> c;cin >> c1 >> c2;ll len = c.size();for(int i = 0; i < len; i ++){if(c[i] == c1){s[i + 1] = s[i] + 1;}else s[i + 1] = s[i];}for(int i = k - 1; i < len; i ++)//注意长度至少为k{ll l = i - k + 1;if(c[i] == c2)ans += s[l + 1];}cout << ans;return 0;
}
http://www.lryc.cn/news/177539.html

相关文章:

  • vscode左键无法跳转到定义的文件
  • c、c++排序的相关知识(归并排序、计数排序、稳定性等)
  • oracle定时任务的使用
  • VSCode 配置 Lua 开发环境(清晰明了)
  • JS合并2个远程pdf
  • TikTok的伦理挑战:虚拟世界与现实世界的交汇
  • C# 获取磁盘空间大小的方法
  • JVM机制理解与调优方案
  • Django的设计模式及模板层
  • 写代码生成流程图
  • python reportlab生成pdf
  • 第一次作业题解
  • 美篇作文网教学资源源码-自带作文数据
  • 电脑软件:Duplicate Cleaner Pro 5.16 重复文件清理软件(附下载)
  • 支持笔记本电脑直插直充,TOWE 65W智能快充PDU超级插座
  • 部署Kafka
  • Open3D 进阶(11)使用GMM-Tree算法对点云配准
  • 算法刷题注意事项
  • 搭建自己的pypi服务器
  • ndoe.js、npm相关笔记
  • 如何使用ArcGIS Pro制作标准地图样式国界
  • 基于数学模型水动力模拟、水质建模、复杂河网构建技术在环境影响评价、入河排污口论证及防洪评价中的应用
  • 每天学习3个小时能不能考上浙大MBA项目?
  • NVM的下载安装和使用
  • iOS 视频压缩 mov转mp4 码率
  • 基于Esp32-cam在无外部 PIR 传感器情况下实现运动检测(一)
  • 安卓recovery流程分析(编译、界面、图片)
  • 唤醒手腕 2023年 B 站课程 Golang 语言详细教程笔记(更新中)
  • Qt获取屏幕(桌面)的大小或分辨率
  • 第4讲:vue内置命令(文本插值,属性绑定,v-text,v-html)