AT_past202004_g.ストリング・クエリ
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对字符串 S 进行 Q 次操作。初始时,字符串 S 为空字符串。
第 i 次操作的类型由整数 Ti (1≤i≤Q) 表示,具体内容如下:
- 当 Ti=1 时:
- 给定一个小写英文字母 Ci 和一个整数 Xi。在 S 的末尾添加 Xi 个 Ci 字符。
- 当 Ti=2 时:
- 给定一个整数 Di。从 S 的开头删除 Di 个字符。如果 S 的长度不超过 Di,则 S 变为空字符串。对于本次操作,统计
a、b、c、⋯、z各字符被删除的数量。若分别删除了 dela, delb, ⋯, delz 个,则输出 dela2+delb2+⋯+delz2。
- 给定一个整数 Di。从 S 的开头删除 Di 个字符。如果 S 的长度不超过 Di,则 S 变为空字符串。对于本次操作,统计
输入格式
输入通过标准输入给出,格式如下:
Q
Query1
⋮
QueryQ
第 2 行到第 Q+1 行的 Queryi 有以下两种形式之一:
1 Ci Xi
表示执行 Ti=1 的操作。
2 Di
表示执行 Ti=2 的操作。
输出格式
对于每个 Ti=2 的操作,按顺序输出每种字符被删除数量的平方和。
输入输出样例
输入#1
6 1 a 5 2 3 1 t 8 1 c 10 2 21 2 4
输出#1
9 168 0
输入#2
4 1 x 5 1 y 8 2 7 1 z 8
输出#2
29
输入#3
3 1 p 3 1 q 100000 2 100000
输出#3
9999400018
说明/提示
注意
本题在 2020 年 5 月 2 日 18:00 JST 之前禁止公开讨论。如有违规,可能会被追究责任。
考试结束后可以公开总分和认证级别,但请不要透露解题情况等信息。
约束条件
- 1≤Q≤105
- Ti=1 或 2
- Ci 为小写英文字母
- 1≤Xi≤105
- 1≤Di≤105
- Q, Ti, Xi, Di 均为整数
- 至少存在一次 Ti=2 的操作
样例解释 1
初始 S 为空字符串。
- 第 1 次操作后,S 变为
aaaaa。 - 第 2 次操作后,S 变为
aa。删除了 3 个a,其他字符未被删除。 - 第 3 次操作后,S 变为
aatttttttt。 - 第 4 次操作后,S 变为
aattttttttcccccccccc。 - 第 5 次操作前,S 长度为 20,操作后 S 变为空字符串。删除了 2 个
a,10 个c,8 个t。 - 第 6 次操作后,S 仍为空字符串,没有字符被删除。
因此,第 2 次操作输出 32+02+⋯+02=9,第 5 次操作输出 22+102+82=168,第 6 次操作输出 0。
样例解释 2
初始 S 为空字符串。
- 第 1 次操作后,S 变为
xxxxx。 - 第 2 次操作后,S 变为
xxxxxyyyyyyyy。 - 第 3 次操作后,S 变为
yyyyyy。删除了 5 个x,2 个y,52+22=29。 - 第 4 次操作后,S 变为
yyyyyyzzzzzzzz。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?