#2988. DC9阶段测试一

DC9阶段测试一

第 1 题 下列关于字符串哈希的作用,说法错误的是( )。 {{ select(1) }}

  • 快速判断两个字符串是否相等
  • 快速查询子串是否出现
  • 能够 100% 避免哈希冲突
  • 配合前缀哈希实现 O(1) 子串比对

第 2 题 单哈希方案中,为了降低冲突概率,最常用的优化手段是( )。 {{ select(2) }}

  • 增大进制数
  • 使用双哈希(两组 base 和 mod)
  • 只使用小写字母
  • 缩短字符串长度

第 3 题 字符串 abcabc 的前缀哈希数组,无法直接完成的操作是( )。 {{ select(3) }}

  • 获取整个串的哈希值
  • 获取前 3 个字符的哈希值
  • 获取任意两个子串的最长公共前缀
  • 判断两个子串是否相等

第 4 题 KMP 算法的核心作用是解决什么问题( )。 {{ select(4) }}

  • 字符串排序
  • 单模式串匹配(找模式串在文本串中出现位置)
  • 求最长回文子串
  • 建立字符串字典树

第 5 题 KMP 算法中,next 数组(失配数组)的含义是( )。 {{ select(5) }}

  • 字符串的长度
  • 当前位置最长相等前缀与后缀的长度
  • 字符串中字符种类数
  • 模式串匹配成功的次数

第 6 题 文本串长度 n,模式串长度 m,KMP 算法时间复杂度是( )。 {{ select(6) }}

  • O(n+m)
  • O(n*m)
  • O(n log m)
  • O(m log n)

第 7 题 下列场景中,最不适合使用 KMP 的是( )。 {{ select(7) }}

  • 一篇文章中查找某个关键词
  • 多次查询不同模式串是否在文本串中
  • 多次匹配同一个模式串
  • 避免暴力匹配的低效

第 8 题 字典树(Trie)的核心存储结构是( )。 {{ select(8) }}

  • 哈希表
  • 多叉树
  • 二叉树
  • 链表

第 9 题 字典树不能高效完成的操作是( )。 {{ select(9) }}

  • 统计字符串出现次数
  • 查询字符串是否存在
  • 查询字符串最长回文子串
  • 查询有多少字符串以某个前缀开头

第 10 题 往字典树中插入 n 个总长度为 L 的字符串,时间复杂度是( )。 {{ select(10) }}

  • O(L)
  • O(n log L)
  • O(n^2)
  • O(L^2)

第 11 题 Manacher 算法专门用于解决什么问题( )。 {{ select(11) }}

  • 字符串匹配
  • 求字符串中最长回文子串
  • 字符串去重
  • 字符串哈希

第 12 题 Manacher 算法为什么要在字符间插入无关字符(如 #)( )。 {{ select(12) }}

  • 让字符串变长
  • 统一处理奇数长度、偶数长度的回文串
  • 降低哈希冲突
  • 方便字典树存储

第 13 题 Manacher 算法的时间复杂度是( )。 {{ select(13) }}

  • O(n)
  • O(n^2)
  • O(n log n)
  • O(2^n)

第 14 题 下列四种算法中,只能处理回文问题的是( )。 {{ select(14) }}

  • 字符串哈希
  • KMP
  • 字典树
  • Manacher

第 15 题 想要实现「多模式串快速匹配」,最优选择是( )。 {{ select(15) }}

  • 多次使用 KMP
  • 字符串哈希暴力比对
  • 字典树 / AC 自动机
  • Manacher