2 条题解

  • 0
    @ 2025-7-3 17:15:20
    #include <bits/stdc++.h>
    using namespace std;
    int pos[26]; // pos[0]~pos[25] 分别存 'a'~'z' 最新出现的位置
    int main()
    {
        int n;
        string s;
        cin >> n;
        cin >> s;
        long long sum = 0;
        for (int i = 0; i < s.size(); i++)
        {
            sum += pos[s[i] - 'a'];
            pos[s[i] - 'a'] = i + 1;
        }
        cout << sum;
        return 0;
    }
    
    
    • 0
      @ 2025-7-3 17:15:00
      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n;
          string s;
          cin >> n;
          cin >> s;
          long long sum = 0;
          for (int i = 0; i < s.size(); i++)
          {
              int pos = 0;
              for (int j = i - 1; j >= 0; j--)
                  if (s[j] == s[i])
                  {
                      pos = j + 1;
                      break;
                  }
              sum += pos;
          }
          cout << sum;
          return 0;
      }
      
      
      • 1

      信息

      ID
      1710
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      递交数
      23
      已通过
      5
      上传者