1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

  • 观察:满足“相邻字符大小写必须不同”的串,其大小写分布在下标奇偶上必然固定成两种模式之一: 模式 A:下标偶位为大写、奇位为小写; 模式 B:下标偶位为小写、奇位为大写。 因此一个串是“好”,等价于它完全匹配模式 A 或完全匹配模式 B。

  • “不错”定义为:至多翻转一个字符的大小写后能变成“好”。 设串与两种模式的“失配数”分别为 misA、misB,则最少需要的翻转次数为 min(misA, misB)。

P3882.第1题-大小跳

    1000ms Tried: 72 Accepted: 28 Difficulty: 2 所属公司 : 携程
    算法与标签>思维

题目内容

我们称一个只包含英文字母的字符串为好,当且仅当它的相邻字符大小写必须不同;等价地,对于任意相邻的一对字符(如果存在),恰有一个为大写字母、另一个为小写字母。

我们称一个字符串为不错,当且仅当对它其中一个字符至多进行一次大小写翻转(也可以不操作)后,能够变成一个好的字符串。

现在,给定 nnn 个字符串,请统计其中好的字符串数量,以及不错的字符串数量。

输入描述

第一行输入一个数 n(1≤n≤2×104)n(1≤n≤2×10^4)n(1≤n≤2×104),表示字符串的个数。

此后共 nnn 组数据,每组两行:

第一行输入一个整数 m(1≤m≤10)m(1≤m≤10)m(1≤m≤10) ,表示字符串长度;

第二行输入一个长度为 mmm 的字符串 sss ,仅由大小写英文字母组成。

输出描述

在一行上输出两个整数,分别表示好的字符用数量与不错的字符串数量,中间用一个空格隔开。

样例1

输入

5
1
a
2
Aa
2
AA
3
abc
4
aBCd

输出

2 4

说明

  • "aaa"本身相邻位置不存在,视为满足相邻大小写交替,因此是好串

  • "AaAaAa"相邻对为大写-小写,故是好串;

  • “AAAAAA"不是好串,但翻转任意一个字符可得"AaAaAa"或"aAaAaA”,因此是不错;

  • "abcabcabc"不是好串,但将中间的 bbb 翻转为 BBB 可得"aBcaBcaBc”,因此是不错;

  • "aBCdaBCdaBCd"至少需要翻转两处才能成为好串,因此不是不错。

最终好串数量为 222 ,不错数量为 444 。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 35ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?