CF1246F.Cursor Distance

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个由小写英文字母组成的字符串 ss。有一个光标位于某个字符上。你可以通过以下操作移动光标:选择一个字母 cc 和一个方向(左或右)。然后,光标会移动到所选方向上距离最近的字母 cc 处。如果该方向上没有字母 cc,则光标保持不动。例如,若 s=abaabs = \mathtt{abaab},光标位于第二个字符(a[b]aab\mathtt{a[b]aab}),则:

  • 向左移动到最近的字母 a\mathtt{a},光标会移动到第一个字符([a]baab\mathtt{[a]baab});
  • 向右移动到最近的字母 a\mathtt{a},光标会移动到第三个字符(ab[a]ab\mathtt{ab[a]ab});
  • 向右移动到最近的字母 b\mathtt{b},光标会移动到第五个字符(abaa[b]\mathtt{abaa[b]});
  • 进行其他操作时,光标保持不动。

定义 dist(i,j)\mathrm{dist}(i, j) 为将光标从第 ii 个字符移动到第 jj 个字符所需的最少操作次数。请计算 ∑i=1n∑j=1ndist(i,j)\displaystyle \sum_{i = 1}^n \sum_{j = 1}^n \mathrm{dist}(i, j)。

输入格式

一行,一个非空字符串 ss,长度不超过 10510^5,仅包含小写英文字母。

输出格式

输出一个整数,表示 ∑i=1n∑j=1ndist(i,j)\displaystyle \sum_{i = 1}^n \sum_{j = 1}^n \mathrm{dist}(i, j)。

输入输出样例

  • 输入#1

    abcde
    

    输出#1

    20
    
  • 输入#2

    abacaba
    

    输出#2

    58
    

说明/提示

在第一个样例中,对于任意 i=ji = j,有 dist(i,j)=0\mathrm{dist}(i, j) = 0,对于其他所有 i≠ji \neq j 的情况,dist(i,j)=1\mathrm{dist}(i, j) = 1。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页