1 条题解

  • 0
    @ 2025-8-24 21:16:39

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar szh_AK_all
    S挂分挂到被洛谷7级勾卡线|I can do all things

    搬运于2025-08-24 21:16:38,当前版本为作者最后更新于2024-09-13 13:34:36,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2024 年 9 月语言月赛,由洛谷网校入门计划/基础计划提供。

    题目大意

    定义一个字符串是“好的”,当且仅当这个字符串的首尾字母相同,要求出所给字符串 ss 的“好的”子串数量。

    题目分析

    本题考察简单字符串处理。

    nn 为字符串 ss 的长度。

    最直观的做法是枚举 ss 的每一个子串的首尾位置 l,r(lr)l,r(l\le r),若 sl=srs_l=s_r,则该子串是“好的”,将记录答案的变量 ansans 加一,最后输出 ansans 即可,时间复杂度为 O(n2)O(n^2)

    还有一种做法是:用一个数组记录每一种字符在 ss 中出现的次数,接着枚举每一个小写字母,若它在 ss 种出现的次数为 xx,则它对答案的贡献为 x×(x1)2\frac{x\times(x-1)}{2}。然后由于每一个单独的字母也是“好的”,所以最终答案还应加上 nn,时间复杂度为 O(n)O(n)

    • 1

    信息

    ID
    10776
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者