正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-J 2022 第一轮真题 › 第 14 题

CSP-J 2022 第一轮 第 14 题:字符串不同子串个数

单项选择 · 数组与字符串 · 难度 较难 · 答案 B

题目

一个字符串中任意个连续的字符组成的子序列称为该字符串的子串,则字符串 $\tt abcab$ 有( )个内容互不相同的子串。
CSP-J 2022 第一轮 第 14 题 原题
原题扫描(页面加载后可直接在线作答)

选项

  • A. $12$
  • B. $13$
  • C. $14$
  • D. $15$

答案

B

题解

子串必须是原字符串中连续的一段字符,内容相同的子串只算一次。

把 $\tt abcab$ 的非空子串按长度分类:

长度不同的子串个数
1$\tt a,\ b,\ c$3
2$\tt ab,\ bc,\ ca$3
3$\tt abc,\ bca,\ cab$3
4$\tt abca,\ bcab$2
5$\tt abcab$1

因此,非空子串共有 \[ 3+3+3+2+1=12 \] 个。再计入一个空串(长度为 $0$ 的字符串),共有 \[ 12+1=\boxed{13} \] 个,按题库采用的约定,选 B。

题面“任意个”是否包含 $0$ 个字符存在歧义:若只计算非空子串,则为 12 个,选 A;若计入空串,则为 13 个,选 B。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号