总结:查找子字符串出现次数

总结方法:题目一是动态规划思想,题目二是滑动窗口思想,但是本质都是动态统计:确定子串某个字符位置,统计前面配对次数,以此累加计算即可

1.蓝桥字符

题目链接:1.蓝桥字符【算法赛】 - 蓝桥云课

cpp 复制代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s; 
signed main()
{
	cin>>s;
	int sum1=0,sum2=0,sum3=0;
	for(char ch:s)
	{
		if(ch=='l')
		{
			sum1++;
		}
		else if(ch=='a')
		{
			sum2+=sum1;
		}
		else if(ch=='n')
		{
			sum3+=sum2;
		}
	}
	cout<<sum3<<endl;
	return 0;
}

2.子串简写

题目链接:1.子串简写 - 蓝桥云课

cpp 复制代码
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
	ll k,sum=0,sum1=0;
	string s;
	char c1,c2;
	cin>>k>>s>>c1>>c2;
	for(int i=0,j=k-1;j<s.size();i++,j++)
	{
		if(s[i]==c1) sum++;
		if(s[j]==c2) sum1+=sum;
	}
	cout<<sum1<<endl;
	return 0;
}
相关推荐
知星小度S13 分钟前
算法训练之贪心
算法
PHASELESS41130 分钟前
Java栈与队列深度解析:结构、实现与应用指南
java·开发语言·算法
Nigori7_1 小时前
day33-动态规划__62.不同路径__63. 不同路径 II __343. 整数拆分__343. 整数拆分
算法·动态规划
SeasonedDriverDG1 小时前
C语言编写的线程池
linux·c语言·开发语言·算法
2401_872945091 小时前
【补题】Codeforces Round 857 (Div. 1) A. The Very Beautiful Blanket
算法
LAOLONG-C1 小时前
C语言 栈 的 描述 和 详解
c语言·数据结构·算法
Ring__Rain1 小时前
visual studio 常用的快捷键(已经熟悉的就不记录了)
c++·git·visual studio
辛姜_千尘红回1 小时前
AT_abc398_e [ABC398E] Tree Game 题解
c语言·c++·笔记·算法
啊阿狸不会拉杆1 小时前
数据结构-限定性线性表 - 栈与队列
java·c语言·数据结构·c++·python·算法
ChiaWei Lee2 小时前
【C++初学】C++核心编程(一):内存管理和引用
c++