[语言月赛 202409] 始终

Luogu
IDLGB4031
Time1000ms
Memory512MB
DifficultyP1
2024O2优化排列组合字符串(入门)语言月赛
如果一个只包含小写的字符串**首字母**与**尾字母**相同,那么字符串是“好的”。 给出一个由小写字母组成的字符串 $s$,请你求出它有多少**子串**是“好的”。 **子串**:一个字符串中,任意**连续**的字符构成的子字符串称为子串。 例如,字符串 `abc` 一共包含 7 个子串,分别为:空串(不包含任何字符),`a`,`ab`,`abc`,`b`,`bc`,`c`。注意,字符串 `ac` **不是** `abc` 的子串。 ## Input 输入共一行,一个字符串 $s$。 ## Output 输出共一行,表示 $s$ “好的”子串的个数。 [samples] ## Note ### 样例解释 对于第一组样例,只有 `a`,`b`,`c` 三个“好的”子串。 对于第二组样例,共有 `a`,`b`,`c`,`b`,`a`,`bcb`,`abcba` 七个“好的”子串。 ### 数据范围 $|s|$ 表示字符串 $s$ 的长度。 对于 $20\%$ 的数据,$1 \le |s| \le 30$,字符串只包含小写字母 `a`。 对于 $30\%$ 的数据,$1 \le |s| \le 30$。 对于 $60\%$ 的数据,$1 \le |s| \le 500$,字符串由小写字母组成。 对于 $100\%$ 的数据,$1 \le |s| \le 5000$,字符串由小写字母组成。
Samples
Input #1
abc
Output #1
3
Input #2
abcba
Output #2
7
Input #3
bbcdaadcba
Output #3
18
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202409] 始终",
    "description": {
      "content": "如果一个只包含小写的字符串**首字母**与**尾字母**相同,那么字符串是“好的”。 给出一个由小写字母组成的字符串 $s$,请你求出它有多少**子串**是“好的”。 **子串**:一个字符串中,任意**连续**的字符构成的子字符串称为子串。 例如,字符串 `abc` 一共包含 7 个子串,分别为:空串(不包含任何字符),`a`,`ab`,`abc`,`b`,`bc`,`c`。注意,字符串 `",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P1"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4031"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "如果一个只包含小写的字符串**首字母**与**尾字母**相同,那么字符串是“好的”。\n\n给出一个由小写字母组成的字符串 $s$,请你求出它有多少**子串**是“好的”。\n\n**子串**:一个字符串中,任意**连续**的字符构成的子字符串称为子串。\n例如,字符串 `abc` 一共包含 7 个子串,分别为:空串(不包含任何字符),`a`,`ab`,`abc`,`b`,`bc`,`c`。注意,字符串 `...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments