QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 2048 MB 총점: 100 난이도: [표시] 해킹 가능 ✓

#18209. 以你的名字呼唤你 3

통계

小青鱼非常喜欢字符串理论。今天,小青鱼邀请你和他一起继续研究人类的昵称。

在小青鱼的世界里,人类的昵称都可以表示为仅包含英文小写字母(a 到 z)的字符串。例如,“qingyu”、“xiuga”是人类的昵称,但“Abacde”不是。

小青鱼认为一个名字 $s$ 是 Lyndon 串,当且仅当对于 $s$ 的每个真后缀* $t$,$s$ 的字典序都严格小于 $t$。例如,“abacde”是一个 Lyndon 串,但“qingyu”不是(因为原字符串的字典序不小于其真后缀 “ingyu”)。

在之前的研究之后,小青鱼发现一些人类的昵称可以被划分为若干个连续的部分,其中没有任何一部分是 Lyndon 串,并且这些部分按字典序非降序排列。

现在,小青鱼给你一个人类的昵称 $s$,你需要判断是否存在整数 $k$ 和 $p_1, p_2, \dots, p_k$,满足 $1 \le k \le |s|$,$1 \le p_1 < p_2 < \dots < p_k = |s|$,且如果我们定义 $p_0 = 0$,那么对于每个 $1 \le i \le k$,字符串 $s[p_{i-1} + 1 \dots p_i]$ 不是 Lyndon 串,且对于每个 $2 \le i \le k$,$s[p_{i-2} + 1 \dots p_{i-1}]$ 的字典序不大于 $s[p_{i-1} + 1 \dots p_i]$。

输入格式

输入包含多组测试数据。输入的第一行包含一个整数 $T$($1 \le T$),表示测试数据的组数。

对于每组测试数据,输入包含一行,其中有一个字符串 $s$($1 \le |s| \le 2 \times 10^6$),表示人类的昵称。

保证所有测试数据的 $|s|$ 之和不超过 $2 \times 10^6$。

输出格式

对于每组测试数据,如果不存在这样的整数,输出一行 “No”。

否则,在第一行输出 “Yes”。在第二行输出一个整数 $k$($1 \le k \le |s|$)。在第三行输出 $k$ 个整数 $p_1, p_2, \dots, p_k$($1 \le p_1 < p_2 < \dots < p_k = |s|$),表示你对昵称的划分。

如果有多个答案,你可以输出其中任意一个。

样例

输入样例 1

2
aaa
abcde

输出样例 1

Yes
1
3
No

说明

*真后缀是指非空且不等于原字符串的后缀。例如,“qqoj” 有 3 个真后缀,分别是 “j”、“oj” 和 “qoj”。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1890EditorialOpenNew Editorial for Problem #18209Anonymous2026-06-06 12:06:02View
#1868EditorialOpen题解Anonymous2026-06-03 16:58:05View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.