- 1
- 0
- 约1.61千字
- 约 7页
- 2026-08-23 发布于山东
- 举报
罗勇军8.5DP例题蓝桥杯算法入门
例题8.7子串简写LangqiaoOJ35142问题描述:一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。例如internationalization简写成i18n,Kubernetes简写成K8s,Lanqiao简写成L5o等。在本题中,我们规定长度大于等于K的字符串都可以采用这种简写方法(长度小于K的字符串不配使用这种简写)。给定一个字符串S和两个字符c1和c2,请你计算S有多少个以c1开头,c2结尾的子串可以采用这种简写?输入:第一行包含一个整数K。第二行包含一个字符串S和两个字符c1和c2。输出:一个整数代表答案。
3定义状态dp[]:dp[i]表示到s[1]~s[i]中首字母c1出现的次数。DP转移:遍历s时,若出现尾字母c2,那么答案累加dp[i-k+1]。只需遍历一次字符串,计算复杂度为O(n)。
4k=int(input())s,c1,c2=input().split()len_s=len(s)s=0+s#s[0]不用,从s[1]开始存字符串,容易理解ans=0dp=[0]*(len_s+1)foriinrange(1,len_s+1):ifs[i]==c1:dp[i]=dp[i
您可能关注的文档
- 蓝桥杯算法入门(Python) 课件 1-1蓝桥杯软件赛参赛规则.pptx
- 蓝桥杯算法入门(Python) 课件 1-2蓝桥杯软件赛题型介绍.pptx
- 蓝桥杯算法入门(Python) 课件 1-4蓝桥杯软件赛知识点.pptx
- 蓝桥杯算法入门(Python) 课件 1-5备赛计划.pptx
- 蓝桥杯算法入门(Python) 课件 2-1杂题和编程能力.pptx
- 蓝桥杯算法入门(Python) 课件 2-2杂题例题.pptx
- 蓝桥杯算法入门(Python) 课件 2-3填空题概述.pptx
- 蓝桥杯算法入门(Python) 课件 2-4填空题例题.pptx
- 蓝桥杯算法入门(Python) 课件 3-3链表.pptx
- 蓝桥杯算法入门(Python) 课件 3-7二叉树.pptx
原创力文档

文档评论(0)