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

免费的软件网站工业互联网平台体系

免费的软件网站,工业互联网平台体系,东莞企业网站推广哪里好,外贸怎样找到精准客户[蓝桥杯 2023 省 B] 子串简写 题目描述 程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。例如 internationalization 简写成 i18n,Kubernetes(…

[蓝桥杯 2023 省 B] 子串简写

题目描述

程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。例如 internationalization 简写成 i18nKubernetes(注意连字符不是字符串的一部分)简写成 K8sLanqiao 简写成 L5o 等。

在本题中,我们规定长度大于等于 K K K 的字符串都可以采用这种简写方法(长度小于 K K K 的字符串不配使用这种简写)。

给定一个字符串 S S S 和两个字符 c 1 c_{1} c1 c 2 c_{2} c2,请你计算 S S S 有多少个以 c 1 c_{1} c1 开头 c 2 c_{2} c2 结尾的子串可以采用这种简写?

输入格式

第一行包含一个整数 K K K

第二行包含一个字符串 S S S 和两个字符 c 1 c_{1} c1 c 2 c_{2} c2

输出格式

一个整数代表答案。

输入输出样例 #1

输入 #1

4
abababdb a b

输出 #1

6

说明/提示

【样例说明】

符合条件的子串如下所示,中括号内是该子串:

[abab]abdb
[ababab]db
[abababdb]
ab[abab]db
ab[ababdb]
abab[abdb]

【评测用例规模与约定】

对于 20 % 20 \% 20% 的数据, 2 ≤ K ≤ ∣ S ∣ ≤ 1 0 4 2 \leq K \leq|S| \leq 10^4 2KS104

对于 100 % 100 \% 100% 的数据, 2 ≤ K ≤ ∣ S ∣ ≤ 5 × 1 0 5 2 \leq K \leq|S| \leq 5 \times 10^{5} 2KS5×105 S S S 只包含小写字母。 c 1 c_{1} c1 c 2 c_{2} c2 都是小写字母。

∣ S ∣ |S| S 代表字符串 S S S 的长度。

蓝桥杯 2023 省赛 B 组 G 题。

分析

由于数据量较大,直接枚举的方法只能过部分分,大部分会TLE,所以我们换一种思路枚举

先对字符串S进行预处理,找到其中每一个c1和c2的位置,把这些位置存下来,只需要枚举这些位置即可。另外,由于对于简写的长度也有要求,所以简写的开始位置i和结束位置j之间存在j≥i+k-1的关系

整体思路就是,先对S进行预处理,存下其中c1和c2的位置,然后对于每一个c1的位置,找到其后第一个满足关系的结束位置,统计其后所有位置的数目,并全部加到最终的结果ans中

代码

#include<stdio.h>
#include<string.h>
#include<algorithm>
int k;
char str[500005];
char c1, c2;
long long ans = 0;
int c_1[500005];
int c_2[500005];
int main() {scanf("%d", &k);scanf("%s %c %c", str, &c1, &c2);int l = 0, h = 0;int n=strlen(str);for (int i = 0; i < n; i++) {if (str[i] == c1)c_1[l++] = i;if (str[i] == c2)`c_2[h++] = i;}for (int s = 0; s < l; s++) {int i = c_1[s];int pos = i + k - 1;int *num = std::lower_bound(c_2, c_2 + h, pos);ans += h - (num-c_2);}printf("%lld", ans);return 0;
}

注意:ans的值可能超过int型的范围,需要开long long型;
可能存在c1与c2相同的情况,所以建立c_1和c_2时不能用else if
在这里插入图片描述
顺利AC

http://www.dtcms.com/wzjs/564679.html

相关文章:

  • 中国最大的网站建设公司济南网站制作哪家专业
  • 自己怎么设置会员网站杭州建设网站的公司哪家好
  • 南宁网站seo建设银行个人网站打不开
  • 福州 福马路 网站建设外语网站建设
  • 网站页脚信息微网站建设图片
  • html5大气网站辽宁省建设科学研究院网站
  • 天猫优惠券网站怎么做的免费简历模板下载word可编辑
  • 模板网站如何做优化做网站怎么才会被百度收录
  • 网站再就业技能培训班中国消防公众号关注
  • 莱州网站建设有限公司舆情分析师
  • 企业网站制作设计公司三亚 网站建设
  • 上海做网站待遇沈阳市建设工程项目管理中心网站
  • 想把自己做的网站放到网上深圳商务网站建设
  • 镇江网站营销推广哪个软件制作视频比较好
  • 北海哪里做网站建设wordpress首页404
  • 贵州省住房与城乡建设厅门户网站校园招聘
  • 做酒店管理网站的作用北京建设网站的公司哪家好
  • 手机版的学习网站php婚庆网站
  • 网站空间的控制面板首页品牌名称怎么取
  • 做一个公司的网站应做哪些准备工作内容九江做网站的公司
  • 问答网站开发坪地网站建设效果
  • 做网站先付款seo网页优化公司
  • 五种常用的网站推广方法seo网络推广培训
  • 加猛挣钱免费做网站软件网站免费大全
  • 写作的网站有哪些客户关系管理系统的特点
  • 网站源码下载wordpress academy
  • 制作哪个网站好免费自助建站系统
  • 企业做网站的多吗贵阳网站关键字优化
  • 福州网站网页设计祁东县建设局网站
  • 台州网站建设方案优化《网站平台建设》课程实训